summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--_static/documentation_options.js2
-rw-r--r--index.html4
-rw-r--r--main/.buildinfo2
-rw-r--r--main/_static/documentation_options.js2
-rw-r--r--main/changelog.html17
-rw-r--r--main/development.html12
-rw-r--r--main/genindex.html12
-rw-r--r--main/index.html12
-rw-r--r--main/index_redirect.html4
-rw-r--r--main/objects.invbin2376 -> 2376 bytes
-rw-r--r--main/output/pydis_core.async_stats.html18
-rw-r--r--main/output/pydis_core.exts.html12
-rw-r--r--main/output/pydis_core.html74
-rw-r--r--main/output/pydis_core.site_api.html38
-rw-r--r--main/output/pydis_core.utils.caching.html20
-rw-r--r--main/output/pydis_core.utils.channel.html16
-rw-r--r--main/output/pydis_core.utils.checks.html26
-rw-r--r--main/output/pydis_core.utils.commands.html14
-rw-r--r--main/output/pydis_core.utils.cooldown.html24
-rw-r--r--main/output/pydis_core.utils.error_handling.commands.abc.html20
-rw-r--r--main/output/pydis_core.utils.error_handling.commands.html28
-rw-r--r--main/output/pydis_core.utils.error_handling.commands.manager.html20
-rw-r--r--main/output/pydis_core.utils.error_handling.html14
-rw-r--r--main/output/pydis_core.utils.function.html24
-rw-r--r--main/output/pydis_core.utils.html16
-rw-r--r--main/output/pydis_core.utils.interactions.html30
-rw-r--r--main/output/pydis_core.utils.lock.html34
-rw-r--r--main/output/pydis_core.utils.logging.html20
-rw-r--r--main/output/pydis_core.utils.members.html16
-rw-r--r--main/output/pydis_core.utils.messages.html14
-rw-r--r--main/output/pydis_core.utils.pagination.html24
-rw-r--r--main/output/pydis_core.utils.paste_service.html26
-rw-r--r--main/output/pydis_core.utils.regex.html18
-rw-r--r--main/output/pydis_core.utils.scheduling.html30
-rw-r--r--main/py-modindex.html12
-rw-r--r--main/search.html12
-rw-r--r--main/searchindex.js2
-rw-r--r--main/versions.html18
-rw-r--r--v10.0.0/.buildinfo2
-rw-r--r--v10.0.0/changelog.html4
-rw-r--r--v10.0.0/development.html4
-rw-r--r--v10.0.0/genindex.html4
-rw-r--r--v10.0.0/index.html4
-rw-r--r--v10.0.0/output/pydis_core.async_stats.html4
-rw-r--r--v10.0.0/output/pydis_core.exts.html4
-rw-r--r--v10.0.0/output/pydis_core.html4
-rw-r--r--v10.0.0/output/pydis_core.site_api.html4
-rw-r--r--v10.0.0/output/pydis_core.utils.caching.html4
-rw-r--r--v10.0.0/output/pydis_core.utils.channel.html4
-rw-r--r--v10.0.0/output/pydis_core.utils.commands.html4
-rw-r--r--v10.0.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v10.0.0/output/pydis_core.utils.error_handling.html4
-rw-r--r--v10.0.0/output/pydis_core.utils.function.html4
-rw-r--r--v10.0.0/output/pydis_core.utils.html4
-rw-r--r--v10.0.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v10.0.0/output/pydis_core.utils.logging.html4
-rw-r--r--v10.0.0/output/pydis_core.utils.members.html4
-rw-r--r--v10.0.0/output/pydis_core.utils.paste_service.html4
-rw-r--r--v10.0.0/output/pydis_core.utils.regex.html4
-rw-r--r--v10.0.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v10.0.0/py-modindex.html4
-rw-r--r--v10.0.0/search.html4
-rw-r--r--v10.0.0/searchindex.js2
-rw-r--r--v10.0.0/versions.html10
-rw-r--r--v10.1.0/.buildinfo2
-rw-r--r--v10.1.0/changelog.html4
-rw-r--r--v10.1.0/development.html4
-rw-r--r--v10.1.0/genindex.html4
-rw-r--r--v10.1.0/index.html4
-rw-r--r--v10.1.0/output/pydis_core.async_stats.html4
-rw-r--r--v10.1.0/output/pydis_core.exts.html4
-rw-r--r--v10.1.0/output/pydis_core.html4
-rw-r--r--v10.1.0/output/pydis_core.site_api.html4
-rw-r--r--v10.1.0/output/pydis_core.utils.caching.html4
-rw-r--r--v10.1.0/output/pydis_core.utils.channel.html4
-rw-r--r--v10.1.0/output/pydis_core.utils.commands.html4
-rw-r--r--v10.1.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v10.1.0/output/pydis_core.utils.error_handling.html4
-rw-r--r--v10.1.0/output/pydis_core.utils.function.html4
-rw-r--r--v10.1.0/output/pydis_core.utils.html4
-rw-r--r--v10.1.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v10.1.0/output/pydis_core.utils.logging.html4
-rw-r--r--v10.1.0/output/pydis_core.utils.members.html4
-rw-r--r--v10.1.0/output/pydis_core.utils.paste_service.html4
-rw-r--r--v10.1.0/output/pydis_core.utils.regex.html4
-rw-r--r--v10.1.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v10.1.0/py-modindex.html4
-rw-r--r--v10.1.0/search.html4
-rw-r--r--v10.1.0/searchindex.js2
-rw-r--r--v10.1.0/versions.html10
-rw-r--r--v10.2.0/.buildinfo2
-rw-r--r--v10.2.0/changelog.html4
-rw-r--r--v10.2.0/development.html4
-rw-r--r--v10.2.0/genindex.html4
-rw-r--r--v10.2.0/index.html4
-rw-r--r--v10.2.0/output/pydis_core.async_stats.html4
-rw-r--r--v10.2.0/output/pydis_core.exts.html4
-rw-r--r--v10.2.0/output/pydis_core.html4
-rw-r--r--v10.2.0/output/pydis_core.site_api.html4
-rw-r--r--v10.2.0/output/pydis_core.utils.caching.html4
-rw-r--r--v10.2.0/output/pydis_core.utils.channel.html4
-rw-r--r--v10.2.0/output/pydis_core.utils.commands.html4
-rw-r--r--v10.2.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v10.2.0/output/pydis_core.utils.error_handling.html4
-rw-r--r--v10.2.0/output/pydis_core.utils.function.html4
-rw-r--r--v10.2.0/output/pydis_core.utils.html4
-rw-r--r--v10.2.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v10.2.0/output/pydis_core.utils.logging.html4
-rw-r--r--v10.2.0/output/pydis_core.utils.members.html4
-rw-r--r--v10.2.0/output/pydis_core.utils.paste_service.html4
-rw-r--r--v10.2.0/output/pydis_core.utils.regex.html4
-rw-r--r--v10.2.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v10.2.0/py-modindex.html4
-rw-r--r--v10.2.0/search.html4
-rw-r--r--v10.2.0/searchindex.js2
-rw-r--r--v10.2.0/versions.html10
-rw-r--r--v10.3.0/.buildinfo2
-rw-r--r--v10.3.0/changelog.html4
-rw-r--r--v10.3.0/development.html4
-rw-r--r--v10.3.0/genindex.html4
-rw-r--r--v10.3.0/index.html4
-rw-r--r--v10.3.0/output/pydis_core.async_stats.html4
-rw-r--r--v10.3.0/output/pydis_core.exts.html4
-rw-r--r--v10.3.0/output/pydis_core.html4
-rw-r--r--v10.3.0/output/pydis_core.site_api.html4
-rw-r--r--v10.3.0/output/pydis_core.utils.caching.html4
-rw-r--r--v10.3.0/output/pydis_core.utils.channel.html4
-rw-r--r--v10.3.0/output/pydis_core.utils.commands.html4
-rw-r--r--v10.3.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v10.3.0/output/pydis_core.utils.error_handling.html4
-rw-r--r--v10.3.0/output/pydis_core.utils.function.html4
-rw-r--r--v10.3.0/output/pydis_core.utils.html4
-rw-r--r--v10.3.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v10.3.0/output/pydis_core.utils.logging.html4
-rw-r--r--v10.3.0/output/pydis_core.utils.members.html4
-rw-r--r--v10.3.0/output/pydis_core.utils.paste_service.html4
-rw-r--r--v10.3.0/output/pydis_core.utils.regex.html4
-rw-r--r--v10.3.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v10.3.0/py-modindex.html4
-rw-r--r--v10.3.0/search.html4
-rw-r--r--v10.3.0/searchindex.js2
-rw-r--r--v10.3.0/versions.html10
-rw-r--r--v10.4.0/.buildinfo2
-rw-r--r--v10.4.0/changelog.html4
-rw-r--r--v10.4.0/development.html4
-rw-r--r--v10.4.0/genindex.html4
-rw-r--r--v10.4.0/index.html4
-rw-r--r--v10.4.0/output/pydis_core.async_stats.html4
-rw-r--r--v10.4.0/output/pydis_core.exts.html4
-rw-r--r--v10.4.0/output/pydis_core.html4
-rw-r--r--v10.4.0/output/pydis_core.site_api.html4
-rw-r--r--v10.4.0/output/pydis_core.utils.caching.html4
-rw-r--r--v10.4.0/output/pydis_core.utils.channel.html4
-rw-r--r--v10.4.0/output/pydis_core.utils.commands.html4
-rw-r--r--v10.4.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v10.4.0/output/pydis_core.utils.error_handling.html4
-rw-r--r--v10.4.0/output/pydis_core.utils.function.html4
-rw-r--r--v10.4.0/output/pydis_core.utils.html4
-rw-r--r--v10.4.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v10.4.0/output/pydis_core.utils.logging.html4
-rw-r--r--v10.4.0/output/pydis_core.utils.members.html4
-rw-r--r--v10.4.0/output/pydis_core.utils.paste_service.html4
-rw-r--r--v10.4.0/output/pydis_core.utils.regex.html4
-rw-r--r--v10.4.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v10.4.0/py-modindex.html4
-rw-r--r--v10.4.0/search.html4
-rw-r--r--v10.4.0/searchindex.js2
-rw-r--r--v10.4.0/versions.html10
-rw-r--r--v10.5.0/.buildinfo2
-rw-r--r--v10.5.0/changelog.html4
-rw-r--r--v10.5.0/development.html4
-rw-r--r--v10.5.0/genindex.html4
-rw-r--r--v10.5.0/index.html4
-rw-r--r--v10.5.0/output/pydis_core.async_stats.html4
-rw-r--r--v10.5.0/output/pydis_core.exts.html4
-rw-r--r--v10.5.0/output/pydis_core.html4
-rw-r--r--v10.5.0/output/pydis_core.site_api.html4
-rw-r--r--v10.5.0/output/pydis_core.utils.caching.html4
-rw-r--r--v10.5.0/output/pydis_core.utils.channel.html4
-rw-r--r--v10.5.0/output/pydis_core.utils.commands.html4
-rw-r--r--v10.5.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v10.5.0/output/pydis_core.utils.error_handling.html4
-rw-r--r--v10.5.0/output/pydis_core.utils.function.html4
-rw-r--r--v10.5.0/output/pydis_core.utils.html4
-rw-r--r--v10.5.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v10.5.0/output/pydis_core.utils.logging.html4
-rw-r--r--v10.5.0/output/pydis_core.utils.members.html4
-rw-r--r--v10.5.0/output/pydis_core.utils.paste_service.html4
-rw-r--r--v10.5.0/output/pydis_core.utils.regex.html4
-rw-r--r--v10.5.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v10.5.0/py-modindex.html4
-rw-r--r--v10.5.0/search.html4
-rw-r--r--v10.5.0/searchindex.js2
-rw-r--r--v10.5.0/versions.html10
-rw-r--r--v10.5.1/.buildinfo2
-rw-r--r--v10.5.1/changelog.html4
-rw-r--r--v10.5.1/development.html4
-rw-r--r--v10.5.1/genindex.html4
-rw-r--r--v10.5.1/index.html4
-rw-r--r--v10.5.1/output/pydis_core.async_stats.html4
-rw-r--r--v10.5.1/output/pydis_core.exts.html4
-rw-r--r--v10.5.1/output/pydis_core.html4
-rw-r--r--v10.5.1/output/pydis_core.site_api.html4
-rw-r--r--v10.5.1/output/pydis_core.utils.caching.html4
-rw-r--r--v10.5.1/output/pydis_core.utils.channel.html4
-rw-r--r--v10.5.1/output/pydis_core.utils.commands.html4
-rw-r--r--v10.5.1/output/pydis_core.utils.cooldown.html4
-rw-r--r--v10.5.1/output/pydis_core.utils.error_handling.html4
-rw-r--r--v10.5.1/output/pydis_core.utils.function.html4
-rw-r--r--v10.5.1/output/pydis_core.utils.html4
-rw-r--r--v10.5.1/output/pydis_core.utils.interactions.html4
-rw-r--r--v10.5.1/output/pydis_core.utils.logging.html4
-rw-r--r--v10.5.1/output/pydis_core.utils.members.html4
-rw-r--r--v10.5.1/output/pydis_core.utils.paste_service.html4
-rw-r--r--v10.5.1/output/pydis_core.utils.regex.html4
-rw-r--r--v10.5.1/output/pydis_core.utils.scheduling.html4
-rw-r--r--v10.5.1/py-modindex.html4
-rw-r--r--v10.5.1/search.html4
-rw-r--r--v10.5.1/searchindex.js2
-rw-r--r--v10.5.1/versions.html10
-rw-r--r--v10.6.0/.buildinfo2
-rw-r--r--v10.6.0/changelog.html4
-rw-r--r--v10.6.0/development.html4
-rw-r--r--v10.6.0/genindex.html4
-rw-r--r--v10.6.0/index.html4
-rw-r--r--v10.6.0/output/pydis_core.async_stats.html4
-rw-r--r--v10.6.0/output/pydis_core.exts.html4
-rw-r--r--v10.6.0/output/pydis_core.html4
-rw-r--r--v10.6.0/output/pydis_core.site_api.html4
-rw-r--r--v10.6.0/output/pydis_core.utils.caching.html4
-rw-r--r--v10.6.0/output/pydis_core.utils.channel.html4
-rw-r--r--v10.6.0/output/pydis_core.utils.checks.html4
-rw-r--r--v10.6.0/output/pydis_core.utils.commands.html4
-rw-r--r--v10.6.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v10.6.0/output/pydis_core.utils.error_handling.html4
-rw-r--r--v10.6.0/output/pydis_core.utils.function.html4
-rw-r--r--v10.6.0/output/pydis_core.utils.html4
-rw-r--r--v10.6.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v10.6.0/output/pydis_core.utils.logging.html4
-rw-r--r--v10.6.0/output/pydis_core.utils.members.html4
-rw-r--r--v10.6.0/output/pydis_core.utils.messages.html4
-rw-r--r--v10.6.0/output/pydis_core.utils.pagination.html4
-rw-r--r--v10.6.0/output/pydis_core.utils.paste_service.html4
-rw-r--r--v10.6.0/output/pydis_core.utils.regex.html4
-rw-r--r--v10.6.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v10.6.0/py-modindex.html4
-rw-r--r--v10.6.0/search.html4
-rw-r--r--v10.6.0/searchindex.js2
-rw-r--r--v10.6.0/versions.html10
-rw-r--r--v10.7.0/.buildinfo2
-rw-r--r--v10.7.0/changelog.html6
-rw-r--r--v10.7.0/development.html4
-rw-r--r--v10.7.0/genindex.html4
-rw-r--r--v10.7.0/index.html4
-rw-r--r--v10.7.0/objects.invbin2099 -> 2114 bytes
-rw-r--r--v10.7.0/output/pydis_core.async_stats.html4
-rw-r--r--v10.7.0/output/pydis_core.exts.html4
-rw-r--r--v10.7.0/output/pydis_core.html4
-rw-r--r--v10.7.0/output/pydis_core.site_api.html4
-rw-r--r--v10.7.0/output/pydis_core.utils.caching.html4
-rw-r--r--v10.7.0/output/pydis_core.utils.channel.html4
-rw-r--r--v10.7.0/output/pydis_core.utils.checks.html4
-rw-r--r--v10.7.0/output/pydis_core.utils.commands.html4
-rw-r--r--v10.7.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v10.7.0/output/pydis_core.utils.error_handling.html4
-rw-r--r--v10.7.0/output/pydis_core.utils.function.html4
-rw-r--r--v10.7.0/output/pydis_core.utils.html4
-rw-r--r--v10.7.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v10.7.0/output/pydis_core.utils.lock.html4
-rw-r--r--v10.7.0/output/pydis_core.utils.logging.html4
-rw-r--r--v10.7.0/output/pydis_core.utils.members.html4
-rw-r--r--v10.7.0/output/pydis_core.utils.messages.html4
-rw-r--r--v10.7.0/output/pydis_core.utils.pagination.html8
-rw-r--r--v10.7.0/output/pydis_core.utils.paste_service.html4
-rw-r--r--v10.7.0/output/pydis_core.utils.regex.html4
-rw-r--r--v10.7.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v10.7.0/py-modindex.html4
-rw-r--r--v10.7.0/search.html4
-rw-r--r--v10.7.0/searchindex.js2
-rw-r--r--v10.7.0/versions.html10
-rw-r--r--v11.0.0/.buildinfo2
-rw-r--r--v11.0.0/changelog.html4
-rw-r--r--v11.0.0/development.html4
-rw-r--r--v11.0.0/genindex.html4
-rw-r--r--v11.0.0/index.html4
-rw-r--r--v11.0.0/output/pydis_core.async_stats.html4
-rw-r--r--v11.0.0/output/pydis_core.exts.html4
-rw-r--r--v11.0.0/output/pydis_core.html4
-rw-r--r--v11.0.0/output/pydis_core.site_api.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.caching.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.channel.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.checks.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.commands.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.error_handling.commands.abc.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.error_handling.commands.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.error_handling.commands.manager.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.error_handling.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.function.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.lock.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.logging.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.members.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.messages.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.pagination.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.paste_service.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.regex.html4
-rw-r--r--v11.0.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v11.0.0/py-modindex.html4
-rw-r--r--v11.0.0/search.html4
-rw-r--r--v11.0.0/searchindex.js2
-rw-r--r--v11.0.0/versions.html10
-rw-r--r--v11.0.1/.buildinfo4
-rw-r--r--v11.0.1/.nojekyll0
-rw-r--r--v11.0.1/_static/basic.css925
-rw-r--r--v11.0.1/_static/changelog.css11
-rw-r--r--v11.0.1/_static/changelog.js41
-rw-r--r--v11.0.1/_static/debug.css69
-rw-r--r--v11.0.1/_static/doctools.js156
-rw-r--r--v11.0.1/_static/documentation_options.js13
-rw-r--r--v11.0.1/_static/file.pngbin0 -> 286 bytes
-rw-r--r--v11.0.1/_static/index.css3
-rw-r--r--v11.0.1/_static/language_data.js199
-rw-r--r--v11.0.1/_static/logo.css3
-rw-r--r--v11.0.1/_static/minus.pngbin0 -> 90 bytes
-rw-r--r--v11.0.1/_static/plus.pngbin0 -> 90 bytes
-rw-r--r--v11.0.1/_static/pygments.css258
-rw-r--r--v11.0.1/_static/scripts/furo-extensions.js0
-rw-r--r--v11.0.1/_static/scripts/furo.js3
-rw-r--r--v11.0.1/_static/scripts/furo.js.LICENSE.txt7
-rw-r--r--v11.0.1/_static/scripts/furo.js.map1
-rw-r--r--v11.0.1/_static/searchtools.js574
-rw-r--r--v11.0.1/_static/skeleton.css296
-rw-r--r--v11.0.1/_static/sphinx_highlight.js154
-rw-r--r--v11.0.1/_static/statsd_additional_objects.invbin0 -> 308 bytes
-rw-r--r--v11.0.1/_static/styles/furo-extensions.css2
-rw-r--r--v11.0.1/_static/styles/furo-extensions.css.map1
-rw-r--r--v11.0.1/_static/styles/furo.css2
-rw-r--r--v11.0.1/_static/styles/furo.css.map1
-rw-r--r--v11.0.1/changelog.html810
-rw-r--r--v11.0.1/development.html522
-rw-r--r--v11.0.1/genindex.html1147
-rw-r--r--v11.0.1/index.html525
-rw-r--r--v11.0.1/index_redirect.html63
-rw-r--r--v11.0.1/objects.invbin0 -> 2376 bytes
-rw-r--r--v11.0.1/output/pydis_core.async_stats.html506
-rw-r--r--v11.0.1/output/pydis_core.exts.html448
-rw-r--r--v11.0.1/output/pydis_core.html1077
-rw-r--r--v11.0.1/output/pydis_core.site_api.html644
-rw-r--r--v11.0.1/output/pydis_core.utils.caching.html520
-rw-r--r--v11.0.1/output/pydis_core.utils.channel.html516
-rw-r--r--v11.0.1/output/pydis_core.utils.checks.html588
-rw-r--r--v11.0.1/output/pydis_core.utils.commands.html489
-rw-r--r--v11.0.1/output/pydis_core.utils.cooldown.html539
-rw-r--r--v11.0.1/output/pydis_core.utils.error_handling.commands.abc.html511
-rw-r--r--v11.0.1/output/pydis_core.utils.error_handling.commands.html579
-rw-r--r--v11.0.1/output/pydis_core.utils.error_handling.commands.manager.html507
-rw-r--r--v11.0.1/output/pydis_core.utils.error_handling.html517
-rw-r--r--v11.0.1/output/pydis_core.utils.function.html600
-rw-r--r--v11.0.1/output/pydis_core.utils.html691
-rw-r--r--v11.0.1/output/pydis_core.utils.interactions.html589
-rw-r--r--v11.0.1/output/pydis_core.utils.lock.html593
-rw-r--r--v11.0.1/output/pydis_core.utils.logging.html526
-rw-r--r--v11.0.1/output/pydis_core.utils.members.html502
-rw-r--r--v11.0.1/output/pydis_core.utils.messages.html479
-rw-r--r--v11.0.1/output/pydis_core.utils.pagination.html608
-rw-r--r--v11.0.1/output/pydis_core.utils.paste_service.html609
-rw-r--r--v11.0.1/output/pydis_core.utils.regex.html499
-rw-r--r--v11.0.1/output/pydis_core.utils.scheduling.html632
-rw-r--r--v11.0.1/py-modindex.html581
-rw-r--r--v11.0.1/search.html436
-rw-r--r--v11.0.1/searchindex.js1
-rw-r--r--v11.0.1/versions.html601
-rw-r--r--v9.0.0/.buildinfo2
-rw-r--r--v9.0.0/changelog.html4
-rw-r--r--v9.0.0/development.html4
-rw-r--r--v9.0.0/genindex.html4
-rw-r--r--v9.0.0/index.html4
-rw-r--r--v9.0.0/output/pydis_core.async_stats.html4
-rw-r--r--v9.0.0/output/pydis_core.exts.html4
-rw-r--r--v9.0.0/output/pydis_core.html4
-rw-r--r--v9.0.0/output/pydis_core.site_api.html4
-rw-r--r--v9.0.0/output/pydis_core.utils.caching.html4
-rw-r--r--v9.0.0/output/pydis_core.utils.channel.html4
-rw-r--r--v9.0.0/output/pydis_core.utils.commands.html4
-rw-r--r--v9.0.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v9.0.0/output/pydis_core.utils.function.html4
-rw-r--r--v9.0.0/output/pydis_core.utils.html4
-rw-r--r--v9.0.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v9.0.0/output/pydis_core.utils.logging.html4
-rw-r--r--v9.0.0/output/pydis_core.utils.members.html4
-rw-r--r--v9.0.0/output/pydis_core.utils.regex.html4
-rw-r--r--v9.0.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v9.0.0/py-modindex.html4
-rw-r--r--v9.0.0/search.html4
-rw-r--r--v9.0.0/searchindex.js2
-rw-r--r--v9.0.0/versions.html10
-rw-r--r--v9.1.1/.buildinfo2
-rw-r--r--v9.1.1/changelog.html4
-rw-r--r--v9.1.1/development.html4
-rw-r--r--v9.1.1/genindex.html4
-rw-r--r--v9.1.1/index.html4
-rw-r--r--v9.1.1/output/pydis_core.async_stats.html4
-rw-r--r--v9.1.1/output/pydis_core.exts.html4
-rw-r--r--v9.1.1/output/pydis_core.html4
-rw-r--r--v9.1.1/output/pydis_core.site_api.html4
-rw-r--r--v9.1.1/output/pydis_core.utils.caching.html4
-rw-r--r--v9.1.1/output/pydis_core.utils.channel.html4
-rw-r--r--v9.1.1/output/pydis_core.utils.commands.html4
-rw-r--r--v9.1.1/output/pydis_core.utils.cooldown.html4
-rw-r--r--v9.1.1/output/pydis_core.utils.function.html4
-rw-r--r--v9.1.1/output/pydis_core.utils.html4
-rw-r--r--v9.1.1/output/pydis_core.utils.interactions.html4
-rw-r--r--v9.1.1/output/pydis_core.utils.logging.html4
-rw-r--r--v9.1.1/output/pydis_core.utils.members.html4
-rw-r--r--v9.1.1/output/pydis_core.utils.regex.html4
-rw-r--r--v9.1.1/output/pydis_core.utils.scheduling.html4
-rw-r--r--v9.1.1/py-modindex.html4
-rw-r--r--v9.1.1/search.html4
-rw-r--r--v9.1.1/searchindex.js2
-rw-r--r--v9.1.1/versions.html10
-rw-r--r--v9.10.0-alpha.1/.buildinfo2
-rw-r--r--v9.10.0-alpha.1/changelog.html4
-rw-r--r--v9.10.0-alpha.1/development.html4
-rw-r--r--v9.10.0-alpha.1/genindex.html4
-rw-r--r--v9.10.0-alpha.1/index.html4
-rw-r--r--v9.10.0-alpha.1/output/pydis_core.async_stats.html4
-rw-r--r--v9.10.0-alpha.1/output/pydis_core.exts.html4
-rw-r--r--v9.10.0-alpha.1/output/pydis_core.html4
-rw-r--r--v9.10.0-alpha.1/output/pydis_core.site_api.html4
-rw-r--r--v9.10.0-alpha.1/output/pydis_core.utils.caching.html4
-rw-r--r--v9.10.0-alpha.1/output/pydis_core.utils.channel.html4
-rw-r--r--v9.10.0-alpha.1/output/pydis_core.utils.commands.html4
-rw-r--r--v9.10.0-alpha.1/output/pydis_core.utils.cooldown.html4
-rw-r--r--v9.10.0-alpha.1/output/pydis_core.utils.error_handling.html4
-rw-r--r--v9.10.0-alpha.1/output/pydis_core.utils.function.html4
-rw-r--r--v9.10.0-alpha.1/output/pydis_core.utils.html4
-rw-r--r--v9.10.0-alpha.1/output/pydis_core.utils.interactions.html4
-rw-r--r--v9.10.0-alpha.1/output/pydis_core.utils.logging.html4
-rw-r--r--v9.10.0-alpha.1/output/pydis_core.utils.members.html4
-rw-r--r--v9.10.0-alpha.1/output/pydis_core.utils.paste_service.html4
-rw-r--r--v9.10.0-alpha.1/output/pydis_core.utils.regex.html4
-rw-r--r--v9.10.0-alpha.1/output/pydis_core.utils.scheduling.html4
-rw-r--r--v9.10.0-alpha.1/py-modindex.html4
-rw-r--r--v9.10.0-alpha.1/search.html4
-rw-r--r--v9.10.0-alpha.1/searchindex.js2
-rw-r--r--v9.10.0-alpha.1/versions.html10
-rw-r--r--v9.10.0-alpha.2/.buildinfo2
-rw-r--r--v9.10.0-alpha.2/changelog.html4
-rw-r--r--v9.10.0-alpha.2/development.html4
-rw-r--r--v9.10.0-alpha.2/genindex.html4
-rw-r--r--v9.10.0-alpha.2/index.html4
-rw-r--r--v9.10.0-alpha.2/output/pydis_core.async_stats.html4
-rw-r--r--v9.10.0-alpha.2/output/pydis_core.exts.html4
-rw-r--r--v9.10.0-alpha.2/output/pydis_core.html4
-rw-r--r--v9.10.0-alpha.2/output/pydis_core.site_api.html4
-rw-r--r--v9.10.0-alpha.2/output/pydis_core.utils.caching.html4
-rw-r--r--v9.10.0-alpha.2/output/pydis_core.utils.channel.html4
-rw-r--r--v9.10.0-alpha.2/output/pydis_core.utils.commands.html4
-rw-r--r--v9.10.0-alpha.2/output/pydis_core.utils.cooldown.html4
-rw-r--r--v9.10.0-alpha.2/output/pydis_core.utils.error_handling.html4
-rw-r--r--v9.10.0-alpha.2/output/pydis_core.utils.function.html4
-rw-r--r--v9.10.0-alpha.2/output/pydis_core.utils.html4
-rw-r--r--v9.10.0-alpha.2/output/pydis_core.utils.interactions.html4
-rw-r--r--v9.10.0-alpha.2/output/pydis_core.utils.logging.html4
-rw-r--r--v9.10.0-alpha.2/output/pydis_core.utils.members.html4
-rw-r--r--v9.10.0-alpha.2/output/pydis_core.utils.paste_service.html4
-rw-r--r--v9.10.0-alpha.2/output/pydis_core.utils.regex.html4
-rw-r--r--v9.10.0-alpha.2/output/pydis_core.utils.scheduling.html4
-rw-r--r--v9.10.0-alpha.2/py-modindex.html4
-rw-r--r--v9.10.0-alpha.2/search.html4
-rw-r--r--v9.10.0-alpha.2/searchindex.js2
-rw-r--r--v9.10.0-alpha.2/versions.html10
-rw-r--r--v9.2.0/.buildinfo2
-rw-r--r--v9.2.0/changelog.html4
-rw-r--r--v9.2.0/development.html4
-rw-r--r--v9.2.0/genindex.html4
-rw-r--r--v9.2.0/index.html4
-rw-r--r--v9.2.0/output/pydis_core.async_stats.html4
-rw-r--r--v9.2.0/output/pydis_core.exts.html4
-rw-r--r--v9.2.0/output/pydis_core.html4
-rw-r--r--v9.2.0/output/pydis_core.site_api.html4
-rw-r--r--v9.2.0/output/pydis_core.utils.caching.html4
-rw-r--r--v9.2.0/output/pydis_core.utils.channel.html4
-rw-r--r--v9.2.0/output/pydis_core.utils.commands.html4
-rw-r--r--v9.2.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v9.2.0/output/pydis_core.utils.function.html4
-rw-r--r--v9.2.0/output/pydis_core.utils.html4
-rw-r--r--v9.2.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v9.2.0/output/pydis_core.utils.logging.html4
-rw-r--r--v9.2.0/output/pydis_core.utils.members.html4
-rw-r--r--v9.2.0/output/pydis_core.utils.regex.html4
-rw-r--r--v9.2.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v9.2.0/py-modindex.html4
-rw-r--r--v9.2.0/search.html4
-rw-r--r--v9.2.0/searchindex.js2
-rw-r--r--v9.2.0/versions.html10
-rw-r--r--v9.3.0/.buildinfo2
-rw-r--r--v9.3.0/changelog.html4
-rw-r--r--v9.3.0/development.html4
-rw-r--r--v9.3.0/genindex.html4
-rw-r--r--v9.3.0/index.html4
-rw-r--r--v9.3.0/output/pydis_core.async_stats.html4
-rw-r--r--v9.3.0/output/pydis_core.exts.html4
-rw-r--r--v9.3.0/output/pydis_core.html4
-rw-r--r--v9.3.0/output/pydis_core.site_api.html4
-rw-r--r--v9.3.0/output/pydis_core.utils.caching.html4
-rw-r--r--v9.3.0/output/pydis_core.utils.channel.html4
-rw-r--r--v9.3.0/output/pydis_core.utils.commands.html4
-rw-r--r--v9.3.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v9.3.0/output/pydis_core.utils.function.html4
-rw-r--r--v9.3.0/output/pydis_core.utils.html4
-rw-r--r--v9.3.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v9.3.0/output/pydis_core.utils.logging.html4
-rw-r--r--v9.3.0/output/pydis_core.utils.members.html4
-rw-r--r--v9.3.0/output/pydis_core.utils.regex.html4
-rw-r--r--v9.3.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v9.3.0/py-modindex.html4
-rw-r--r--v9.3.0/search.html4
-rw-r--r--v9.3.0/searchindex.js2
-rw-r--r--v9.3.0/versions.html10
-rw-r--r--v9.4.0/.buildinfo2
-rw-r--r--v9.4.0/changelog.html4
-rw-r--r--v9.4.0/development.html4
-rw-r--r--v9.4.0/genindex.html4
-rw-r--r--v9.4.0/index.html4
-rw-r--r--v9.4.0/output/pydis_core.async_stats.html4
-rw-r--r--v9.4.0/output/pydis_core.exts.html4
-rw-r--r--v9.4.0/output/pydis_core.html4
-rw-r--r--v9.4.0/output/pydis_core.site_api.html4
-rw-r--r--v9.4.0/output/pydis_core.utils.caching.html4
-rw-r--r--v9.4.0/output/pydis_core.utils.channel.html4
-rw-r--r--v9.4.0/output/pydis_core.utils.commands.html4
-rw-r--r--v9.4.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v9.4.0/output/pydis_core.utils.function.html4
-rw-r--r--v9.4.0/output/pydis_core.utils.html4
-rw-r--r--v9.4.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v9.4.0/output/pydis_core.utils.logging.html4
-rw-r--r--v9.4.0/output/pydis_core.utils.members.html4
-rw-r--r--v9.4.0/output/pydis_core.utils.regex.html4
-rw-r--r--v9.4.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v9.4.0/py-modindex.html4
-rw-r--r--v9.4.0/search.html4
-rw-r--r--v9.4.0/searchindex.js2
-rw-r--r--v9.4.0/versions.html10
-rw-r--r--v9.4.1/.buildinfo2
-rw-r--r--v9.4.1/changelog.html4
-rw-r--r--v9.4.1/development.html4
-rw-r--r--v9.4.1/genindex.html4
-rw-r--r--v9.4.1/index.html4
-rw-r--r--v9.4.1/output/pydis_core.async_stats.html4
-rw-r--r--v9.4.1/output/pydis_core.exts.html4
-rw-r--r--v9.4.1/output/pydis_core.html4
-rw-r--r--v9.4.1/output/pydis_core.site_api.html4
-rw-r--r--v9.4.1/output/pydis_core.utils.caching.html4
-rw-r--r--v9.4.1/output/pydis_core.utils.channel.html4
-rw-r--r--v9.4.1/output/pydis_core.utils.commands.html4
-rw-r--r--v9.4.1/output/pydis_core.utils.cooldown.html4
-rw-r--r--v9.4.1/output/pydis_core.utils.function.html4
-rw-r--r--v9.4.1/output/pydis_core.utils.html4
-rw-r--r--v9.4.1/output/pydis_core.utils.interactions.html4
-rw-r--r--v9.4.1/output/pydis_core.utils.logging.html4
-rw-r--r--v9.4.1/output/pydis_core.utils.members.html4
-rw-r--r--v9.4.1/output/pydis_core.utils.regex.html4
-rw-r--r--v9.4.1/output/pydis_core.utils.scheduling.html4
-rw-r--r--v9.4.1/py-modindex.html4
-rw-r--r--v9.4.1/search.html4
-rw-r--r--v9.4.1/searchindex.js2
-rw-r--r--v9.4.1/versions.html10
-rw-r--r--v9.5.0/.buildinfo2
-rw-r--r--v9.5.0/changelog.html4
-rw-r--r--v9.5.0/development.html4
-rw-r--r--v9.5.0/genindex.html4
-rw-r--r--v9.5.0/index.html4
-rw-r--r--v9.5.0/output/pydis_core.async_stats.html4
-rw-r--r--v9.5.0/output/pydis_core.exts.html4
-rw-r--r--v9.5.0/output/pydis_core.html4
-rw-r--r--v9.5.0/output/pydis_core.site_api.html4
-rw-r--r--v9.5.0/output/pydis_core.utils.caching.html4
-rw-r--r--v9.5.0/output/pydis_core.utils.channel.html4
-rw-r--r--v9.5.0/output/pydis_core.utils.commands.html4
-rw-r--r--v9.5.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v9.5.0/output/pydis_core.utils.function.html4
-rw-r--r--v9.5.0/output/pydis_core.utils.html4
-rw-r--r--v9.5.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v9.5.0/output/pydis_core.utils.logging.html4
-rw-r--r--v9.5.0/output/pydis_core.utils.members.html4
-rw-r--r--v9.5.0/output/pydis_core.utils.regex.html4
-rw-r--r--v9.5.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v9.5.0/py-modindex.html4
-rw-r--r--v9.5.0/search.html4
-rw-r--r--v9.5.0/searchindex.js2
-rw-r--r--v9.5.0/versions.html10
-rw-r--r--v9.5.1/.buildinfo2
-rw-r--r--v9.5.1/changelog.html4
-rw-r--r--v9.5.1/development.html4
-rw-r--r--v9.5.1/genindex.html4
-rw-r--r--v9.5.1/index.html4
-rw-r--r--v9.5.1/output/pydis_core.async_stats.html4
-rw-r--r--v9.5.1/output/pydis_core.exts.html4
-rw-r--r--v9.5.1/output/pydis_core.html4
-rw-r--r--v9.5.1/output/pydis_core.site_api.html4
-rw-r--r--v9.5.1/output/pydis_core.utils.caching.html4
-rw-r--r--v9.5.1/output/pydis_core.utils.channel.html4
-rw-r--r--v9.5.1/output/pydis_core.utils.commands.html4
-rw-r--r--v9.5.1/output/pydis_core.utils.cooldown.html4
-rw-r--r--v9.5.1/output/pydis_core.utils.function.html4
-rw-r--r--v9.5.1/output/pydis_core.utils.html4
-rw-r--r--v9.5.1/output/pydis_core.utils.interactions.html4
-rw-r--r--v9.5.1/output/pydis_core.utils.logging.html4
-rw-r--r--v9.5.1/output/pydis_core.utils.members.html4
-rw-r--r--v9.5.1/output/pydis_core.utils.regex.html4
-rw-r--r--v9.5.1/output/pydis_core.utils.scheduling.html4
-rw-r--r--v9.5.1/py-modindex.html4
-rw-r--r--v9.5.1/search.html4
-rw-r--r--v9.5.1/searchindex.js2
-rw-r--r--v9.5.1/versions.html10
-rw-r--r--v9.6.0/.buildinfo2
-rw-r--r--v9.6.0/changelog.html4
-rw-r--r--v9.6.0/development.html4
-rw-r--r--v9.6.0/genindex.html4
-rw-r--r--v9.6.0/index.html4
-rw-r--r--v9.6.0/output/pydis_core.async_stats.html4
-rw-r--r--v9.6.0/output/pydis_core.exts.html4
-rw-r--r--v9.6.0/output/pydis_core.html4
-rw-r--r--v9.6.0/output/pydis_core.site_api.html4
-rw-r--r--v9.6.0/output/pydis_core.utils.caching.html4
-rw-r--r--v9.6.0/output/pydis_core.utils.channel.html4
-rw-r--r--v9.6.0/output/pydis_core.utils.commands.html4
-rw-r--r--v9.6.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v9.6.0/output/pydis_core.utils.function.html4
-rw-r--r--v9.6.0/output/pydis_core.utils.html4
-rw-r--r--v9.6.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v9.6.0/output/pydis_core.utils.logging.html4
-rw-r--r--v9.6.0/output/pydis_core.utils.members.html4
-rw-r--r--v9.6.0/output/pydis_core.utils.regex.html4
-rw-r--r--v9.6.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v9.6.0/py-modindex.html4
-rw-r--r--v9.6.0/search.html4
-rw-r--r--v9.6.0/searchindex.js2
-rw-r--r--v9.6.0/versions.html10
-rw-r--r--v9.7.0/.buildinfo2
-rw-r--r--v9.7.0/changelog.html4
-rw-r--r--v9.7.0/development.html4
-rw-r--r--v9.7.0/genindex.html4
-rw-r--r--v9.7.0/index.html4
-rw-r--r--v9.7.0/output/pydis_core.async_stats.html4
-rw-r--r--v9.7.0/output/pydis_core.exts.html4
-rw-r--r--v9.7.0/output/pydis_core.html4
-rw-r--r--v9.7.0/output/pydis_core.site_api.html4
-rw-r--r--v9.7.0/output/pydis_core.utils.caching.html4
-rw-r--r--v9.7.0/output/pydis_core.utils.channel.html4
-rw-r--r--v9.7.0/output/pydis_core.utils.commands.html4
-rw-r--r--v9.7.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v9.7.0/output/pydis_core.utils.error_handling.html4
-rw-r--r--v9.7.0/output/pydis_core.utils.function.html4
-rw-r--r--v9.7.0/output/pydis_core.utils.html4
-rw-r--r--v9.7.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v9.7.0/output/pydis_core.utils.logging.html4
-rw-r--r--v9.7.0/output/pydis_core.utils.members.html4
-rw-r--r--v9.7.0/output/pydis_core.utils.paste_service.html4
-rw-r--r--v9.7.0/output/pydis_core.utils.regex.html4
-rw-r--r--v9.7.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v9.7.0/py-modindex.html4
-rw-r--r--v9.7.0/search.html4
-rw-r--r--v9.7.0/searchindex.js2
-rw-r--r--v9.7.0/versions.html10
-rw-r--r--v9.8.0/.buildinfo2
-rw-r--r--v9.8.0/changelog.html4
-rw-r--r--v9.8.0/development.html4
-rw-r--r--v9.8.0/genindex.html4
-rw-r--r--v9.8.0/index.html4
-rw-r--r--v9.8.0/output/pydis_core.async_stats.html4
-rw-r--r--v9.8.0/output/pydis_core.exts.html4
-rw-r--r--v9.8.0/output/pydis_core.html4
-rw-r--r--v9.8.0/output/pydis_core.site_api.html4
-rw-r--r--v9.8.0/output/pydis_core.utils.caching.html4
-rw-r--r--v9.8.0/output/pydis_core.utils.channel.html4
-rw-r--r--v9.8.0/output/pydis_core.utils.commands.html4
-rw-r--r--v9.8.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v9.8.0/output/pydis_core.utils.error_handling.html4
-rw-r--r--v9.8.0/output/pydis_core.utils.function.html4
-rw-r--r--v9.8.0/output/pydis_core.utils.html4
-rw-r--r--v9.8.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v9.8.0/output/pydis_core.utils.logging.html4
-rw-r--r--v9.8.0/output/pydis_core.utils.members.html4
-rw-r--r--v9.8.0/output/pydis_core.utils.paste_service.html4
-rw-r--r--v9.8.0/output/pydis_core.utils.regex.html4
-rw-r--r--v9.8.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v9.8.0/py-modindex.html4
-rw-r--r--v9.8.0/search.html4
-rw-r--r--v9.8.0/searchindex.js2
-rw-r--r--v9.8.0/versions.html10
-rw-r--r--v9.9.0/.buildinfo2
-rw-r--r--v9.9.0/changelog.html4
-rw-r--r--v9.9.0/development.html4
-rw-r--r--v9.9.0/genindex.html4
-rw-r--r--v9.9.0/index.html4
-rw-r--r--v9.9.0/output/pydis_core.async_stats.html4
-rw-r--r--v9.9.0/output/pydis_core.exts.html4
-rw-r--r--v9.9.0/output/pydis_core.html4
-rw-r--r--v9.9.0/output/pydis_core.site_api.html4
-rw-r--r--v9.9.0/output/pydis_core.utils.caching.html4
-rw-r--r--v9.9.0/output/pydis_core.utils.channel.html4
-rw-r--r--v9.9.0/output/pydis_core.utils.commands.html4
-rw-r--r--v9.9.0/output/pydis_core.utils.cooldown.html4
-rw-r--r--v9.9.0/output/pydis_core.utils.error_handling.html4
-rw-r--r--v9.9.0/output/pydis_core.utils.function.html4
-rw-r--r--v9.9.0/output/pydis_core.utils.html4
-rw-r--r--v9.9.0/output/pydis_core.utils.interactions.html4
-rw-r--r--v9.9.0/output/pydis_core.utils.logging.html4
-rw-r--r--v9.9.0/output/pydis_core.utils.members.html4
-rw-r--r--v9.9.0/output/pydis_core.utils.paste_service.html4
-rw-r--r--v9.9.0/output/pydis_core.utils.regex.html4
-rw-r--r--v9.9.0/output/pydis_core.utils.scheduling.html4
-rw-r--r--v9.9.0/py-modindex.html4
-rw-r--r--v9.9.0/search.html4
-rw-r--r--v9.9.0/searchindex.js2
-rw-r--r--v9.9.0/versions.html10
-rw-r--r--v9.9.1/.buildinfo2
-rw-r--r--v9.9.1/changelog.html4
-rw-r--r--v9.9.1/development.html4
-rw-r--r--v9.9.1/genindex.html4
-rw-r--r--v9.9.1/index.html4
-rw-r--r--v9.9.1/output/pydis_core.async_stats.html4
-rw-r--r--v9.9.1/output/pydis_core.exts.html4
-rw-r--r--v9.9.1/output/pydis_core.html4
-rw-r--r--v9.9.1/output/pydis_core.site_api.html4
-rw-r--r--v9.9.1/output/pydis_core.utils.caching.html4
-rw-r--r--v9.9.1/output/pydis_core.utils.channel.html4
-rw-r--r--v9.9.1/output/pydis_core.utils.commands.html4
-rw-r--r--v9.9.1/output/pydis_core.utils.cooldown.html4
-rw-r--r--v9.9.1/output/pydis_core.utils.error_handling.html4
-rw-r--r--v9.9.1/output/pydis_core.utils.function.html4
-rw-r--r--v9.9.1/output/pydis_core.utils.html4
-rw-r--r--v9.9.1/output/pydis_core.utils.interactions.html4
-rw-r--r--v9.9.1/output/pydis_core.utils.logging.html4
-rw-r--r--v9.9.1/output/pydis_core.utils.members.html4
-rw-r--r--v9.9.1/output/pydis_core.utils.paste_service.html4
-rw-r--r--v9.9.1/output/pydis_core.utils.regex.html4
-rw-r--r--v9.9.1/output/pydis_core.utils.scheduling.html4
-rw-r--r--v9.9.1/py-modindex.html4
-rw-r--r--v9.9.1/search.html4
-rw-r--r--v9.9.1/searchindex.js2
-rw-r--r--v9.9.1/versions.html10
-rw-r--r--v9.9.2/.buildinfo2
-rw-r--r--v9.9.2/changelog.html4
-rw-r--r--v9.9.2/development.html4
-rw-r--r--v9.9.2/genindex.html4
-rw-r--r--v9.9.2/index.html4
-rw-r--r--v9.9.2/output/pydis_core.async_stats.html4
-rw-r--r--v9.9.2/output/pydis_core.exts.html4
-rw-r--r--v9.9.2/output/pydis_core.html4
-rw-r--r--v9.9.2/output/pydis_core.site_api.html4
-rw-r--r--v9.9.2/output/pydis_core.utils.caching.html4
-rw-r--r--v9.9.2/output/pydis_core.utils.channel.html4
-rw-r--r--v9.9.2/output/pydis_core.utils.commands.html4
-rw-r--r--v9.9.2/output/pydis_core.utils.cooldown.html4
-rw-r--r--v9.9.2/output/pydis_core.utils.error_handling.html4
-rw-r--r--v9.9.2/output/pydis_core.utils.function.html4
-rw-r--r--v9.9.2/output/pydis_core.utils.html4
-rw-r--r--v9.9.2/output/pydis_core.utils.interactions.html4
-rw-r--r--v9.9.2/output/pydis_core.utils.logging.html4
-rw-r--r--v9.9.2/output/pydis_core.utils.members.html4
-rw-r--r--v9.9.2/output/pydis_core.utils.paste_service.html4
-rw-r--r--v9.9.2/output/pydis_core.utils.regex.html4
-rw-r--r--v9.9.2/output/pydis_core.utils.scheduling.html4
-rw-r--r--v9.9.2/py-modindex.html4
-rw-r--r--v9.9.2/search.html4
-rw-r--r--v9.9.2/searchindex.js2
-rw-r--r--v9.9.2/versions.html10
772 files changed, 24280 insertions, 331 deletions
diff --git a/_static/documentation_options.js b/_static/documentation_options.js
index 22eeb55f..99ec824d 100644
--- a/_static/documentation_options.js
+++ b/_static/documentation_options.js
@@ -1,5 +1,5 @@
const DOCUMENTATION_OPTIONS = {
- VERSION: '11.0.0',
+ VERSION: '11.0.1',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',
diff --git a/index.html b/index.html
index 14e76d31..7e01820a 100644
--- a/index.html
+++ b/index.html
@@ -9,7 +9,7 @@
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>Pydis Core Latest (11.0.0)</title>
+ <title>Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
@@ -54,7 +54,7 @@
Please click here if you were not redirected to the latest build.
</a></h2>
</div>
-<script src="_static/documentation_options.js?v=ce29b7a2"></script>
+<script src="_static/documentation_options.js?v=6a5133bb"></script>
<script src="_static/doctools.js?v=888ff710"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/.buildinfo b/main/.buildinfo
index 23df2976..5ff39856 100644
--- a/main/.buildinfo
+++ b/main/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 077e202d12f2b5652d769f1976e19f1f
+config: c02778ce1d33fe68ee9d4df62d93369c
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/main/_static/documentation_options.js b/main/_static/documentation_options.js
index 22eeb55f..99ec824d 100644
--- a/main/_static/documentation_options.js
+++ b/main/_static/documentation_options.js
@@ -1,5 +1,5 @@
const DOCUMENTATION_OPTIONS = {
- VERSION: '11.0.0',
+ VERSION: '11.0.1',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',
diff --git a/main/changelog.html b/main/changelog.html
index 68beda26..81043ff2 100644
--- a/main/changelog.html
+++ b/main/changelog.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="prev" title="Local Development &amp; Testing" href="development.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>Changelog - Pydis Core Latest (11.0.0)</title>
+ <title>Changelog - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
@@ -383,6 +387,11 @@
<article role="main">
<section id="changelog">
<h1>Changelog<a class="headerlink" href="#changelog" title="Link to this heading">#</a></h1>
+<section id="11.0.1">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v11.0.1">11.0.1</a> <span style="font-size: 75%;">20th March 2024</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/209">#209</a><span>:</span> Extract original error from <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.CommandInvokeError" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.ext.commands.errors.CommandInvokeError</span></code></a> before handling it.</p></li>
+</ul>
+</section>
<section id="11.0.0">
<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v11.0.0">11.0.0</a> <span style="font-size: 75%;">18th March 2024</span></h2><ul class="simple">
<li><p>[<span style="color: #F50F10;">Breaking</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/207">#207</a><span>:</span> Enable more ruff linting rules. See <a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v11.0.0"><code class="docutils literal notranslate"><span class="pre">GitHub</span> <span class="pre">release</span> <span class="pre">notes</span></code></a> for breaking changes.</p></li>
@@ -792,7 +801,7 @@
</aside>
</div>
-</div><script src="_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="_static/documentation_options.js?v=6a5133bb"></script>
<script src="_static/doctools.js?v=888ff710"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/development.html b/main/development.html
index a8b3eaf4..5a25d7d0 100644
--- a/main/development.html
+++ b/main/development.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Changelog" href="changelog.html" /><link rel="prev" title="site_api" href="output/pydis_core.site_api.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>Local Development &amp; Testing - Pydis Core Latest (11.0.0)</title>
+ <title>Local Development &amp; Testing - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
@@ -509,7 +513,7 @@ to help you test out certain features. Use them as needed.</p>
</aside>
</div>
-</div><script src="_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="_static/documentation_options.js?v=6a5133bb"></script>
<script src="_static/doctools.js?v=888ff710"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/genindex.html b/main/genindex.html
index 59109abd..43bb39bb 100644
--- a/main/genindex.html
+++ b/main/genindex.html
@@ -4,7 +4,7 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="#" /><link rel="search" title="Search" href="search.html" />
- <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 --><title>Index - Pydis Core Latest (11.0.0)</title>
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 --><title>Index - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
@@ -125,7 +125,7 @@
</label>
</div>
<div class="header-center">
- <a href="index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -151,7 +151,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -285,6 +285,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -1134,7 +1138,7 @@
</aside>
</div>
-</div><script src="_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="_static/documentation_options.js?v=6a5133bb"></script>
<script src="_static/doctools.js?v=888ff710"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/index.html b/main/index.html
index dd269fc5..bb8e78cd 100644
--- a/main/index.html
+++ b/main/index.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Pydis Core" href="output/pydis_core.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>Pydis Core Latest (11.0.0)</title>
+ <title>Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="#"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="#"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -512,7 +516,7 @@
</aside>
</div>
-</div><script src="_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="_static/documentation_options.js?v=6a5133bb"></script>
<script src="_static/doctools.js?v=888ff710"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/index_redirect.html b/main/index_redirect.html
index 14e76d31..7e01820a 100644
--- a/main/index_redirect.html
+++ b/main/index_redirect.html
@@ -9,7 +9,7 @@
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>Pydis Core Latest (11.0.0)</title>
+ <title>Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
@@ -54,7 +54,7 @@
Please click here if you were not redirected to the latest build.
</a></h2>
</div>
-<script src="_static/documentation_options.js?v=ce29b7a2"></script>
+<script src="_static/documentation_options.js?v=6a5133bb"></script>
<script src="_static/doctools.js?v=888ff710"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/objects.inv b/main/objects.inv
index d72d9e83..59dec1ed 100644
--- a/main/objects.inv
+++ b/main/objects.inv
Binary files differ
diff --git a/main/output/pydis_core.async_stats.html b/main/output/pydis_core.async_stats.html
index 3c635253..462d7e35 100644
--- a/main/output/pydis_core.async_stats.html
+++ b/main/output/pydis_core.async_stats.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="site_api" href="pydis_core.site_api.html" /><link rel="prev" title="scheduling" href="pydis_core.utils.scheduling.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>async_stats - Pydis Core Latest (11.0.0)</title>
+ <title>async_stats - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
@@ -386,12 +390,12 @@
<p>An async transport method for statsd communication.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.async_stats.AsyncStatsClient">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">AsyncStatsClient</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loop</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">host</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'localhost'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8125</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/async_stats.py#L11-L54"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.async_stats.AsyncStatsClient" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">AsyncStatsClient</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loop</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">host</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'localhost'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8125</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/async_stats.py#L11-L54"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.async_stats.AsyncStatsClient" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://statsd.readthedocs.io/en/v3.3/reference.html#statsd.client.base.StatsClientBase" title="(in Python StatsD - Edited by Python Discord to extend statsd base objects to also allow referencing statsd.client.base.StatsClientBase v3.3)"><code class="xref py py-class docutils literal notranslate"><span class="pre">StatsClientBase</span></code></a></p>
<p>An async implementation of <a class="reference external" href="https://statsd.readthedocs.io/en/v3.3/reference.html#statsd.client.base.StatsClientBase" title="(in Python StatsD - Edited by Python Discord to extend statsd base objects to also allow referencing statsd.client.base.StatsClientBase v3.3)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">statsd.client.base.StatsClientBase</span></code></a> that supports async stat communication.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.async_stats.AsyncStatsClient.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loop</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">host</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'localhost'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8125</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/async_stats.py#L14-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.async_stats.AsyncStatsClient.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loop</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">host</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'localhost'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8125</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/async_stats.py#L14-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.async_stats.AsyncStatsClient.__init__" title="Link to this definition">#</a></dt>
<dd><p>Create a new <a class="reference internal" href="#pydis_core.async_stats.AsyncStatsClient" title="pydis_core.async_stats.AsyncStatsClient"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AsyncStatsClient</span></code></a>.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -408,7 +412,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.async_stats.AsyncStatsClient.create_socket">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">create_socket</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/async_stats.py#L39-L46"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.async_stats.AsyncStatsClient.create_socket" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">create_socket</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/async_stats.py#L39-L46"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.async_stats.AsyncStatsClient.create_socket" title="Link to this definition">#</a></dt>
<dd><p>Use <a class="reference external" href="https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.loop.create_datagram_endpoint" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">asyncio.loop.create_datagram_endpoint</span></code></a> from the loop given on init to create a socket.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -493,7 +497,7 @@
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.exts.html b/main/output/pydis_core.exts.html
index 4a0b6f5e..5639787a 100644
--- a/main/output/pydis_core.exts.html
+++ b/main/output/pydis_core.exts.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Utils" href="pydis_core.utils.html" /><link rel="prev" title="Pydis Core" href="pydis_core.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>Exts - Pydis Core Latest (11.0.0)</title>
+ <title>Exts - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
@@ -435,7 +439,7 @@
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.html b/main/output/pydis_core.html
index b0d3d54e..2b83f747 100644
--- a/main/output/pydis_core.html
+++ b/main/output/pydis_core.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Exts" href="pydis_core.exts.html" /><link rel="prev" title="Bot Core Project Documentation" href="../index.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>Pydis Core - Pydis Core Latest (11.0.0)</title>
+ <title>Pydis Core - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
@@ -386,12 +390,12 @@
<p>Useful utilities and tools for Discord bot development.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.BotBase">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">BotBase</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">guild_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">http_session</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">redis_session</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">api_client</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">statsd_url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">BotBase</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">guild_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">http_session</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">redis_session</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">api_client</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">statsd_url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Bot" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Bot</span></code></a></p>
<p>A sub-class that implements many common features that Python Discord bots use.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.BotBase.guild_id">
-<span class="sig-name descname"><span class="pre">guild_id</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.guild_id" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">guild_id</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.guild_id" title="Link to this definition">#</a></dt>
<dd><p>ID of the guild that the bot belongs to.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
@@ -402,7 +406,7 @@
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.BotBase.http_session">
-<span class="sig-name descname"><span class="pre">http_session</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.http_session" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">http_session</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.http_session" title="Link to this definition">#</a></dt>
<dd><p>The http session used for sending out HTTP requests.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
@@ -413,7 +417,7 @@
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.BotBase.api_client">
-<span class="sig-name descname"><span class="pre">api_client</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.api_client" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">api_client</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.api_client" title="Link to this definition">#</a></dt>
<dd><p>The API client used for communications with the site service.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
@@ -424,7 +428,7 @@
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.BotBase.statsd_url">
-<span class="sig-name descname"><span class="pre">statsd_url</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.statsd_url" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">statsd_url</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.statsd_url" title="Link to this definition">#</a></dt>
<dd><p>The url that statsd sends metrics to.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
@@ -435,7 +439,7 @@
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.BotBase.redis_session">
-<span class="sig-name descname"><span class="pre">redis_session</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.redis_session" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">redis_session</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.redis_session" title="Link to this definition">#</a></dt>
<dd><p>The redis session used to communicate with the Redis instance.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
@@ -446,7 +450,7 @@
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.BotBase.stats">
-<span class="sig-name descname"><span class="pre">stats</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.stats" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">stats</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.stats" title="Link to this definition">#</a></dt>
<dd><p>The statsd client that sends metrics.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
@@ -457,7 +461,7 @@
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.BotBase.all_extensions">
-<span class="sig-name descname"><span class="pre">all_extensions</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.all_extensions" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">all_extensions</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.all_extensions" title="Link to this definition">#</a></dt>
<dd><p>All extensions that were found within the <code class="docutils literal notranslate"><span class="pre">module</span></code> passed to
<code class="docutils literal notranslate"><span class="pre">self.load_extensions</span></code>. Use <code class="docutils literal notranslate"><span class="pre">self.extensions</span></code> to get the loaded extensions.</p>
<dl class="field-list simple">
@@ -469,7 +473,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">guild_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">http_session</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">redis_session</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">api_client</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">statsd_url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L70-L123"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">guild_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">http_session</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">redis_session</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">api_client</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">statsd_url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L70-L123"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.__init__" title="Link to this definition">#</a></dt>
<dd><p>Initialise the base bot instance.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -488,7 +492,7 @@ a dummy statsd client will be created.</p></li>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.add_cog">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">add_cog</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cog</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L212-L216"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.add_cog" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">add_cog</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cog</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L212-L216"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.add_cog" title="Link to this definition">#</a></dt>
<dd><p>Add the given <code class="docutils literal notranslate"><span class="pre">cog</span></code> to the bot and log the operation.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -499,7 +503,7 @@ a dummy statsd client will be created.</p></li>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.add_command">
-<span class="sig-name descname"><span class="pre">add_command</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">command</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L217-L221"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.add_command" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">add_command</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">command</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L217-L221"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.add_command" title="Link to this definition">#</a></dt>
<dd><p>Add <code class="docutils literal notranslate"><span class="pre">command</span></code> as normal and then add its root aliases to the bot.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -510,7 +514,7 @@ a dummy statsd client will be created.</p></li>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.clear">
-<span class="sig-name descname"><span class="pre">clear</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L237-L240"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.clear" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">clear</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L237-L240"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.clear" title="Link to this definition">#</a></dt>
<dd><p>Not implemented! Re-instantiate the bot instead of attempting to re-use a closed one.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -521,7 +525,7 @@ a dummy statsd client will be created.</p></li>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.close">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L326-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.close" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L326-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.close" title="Link to this definition">#</a></dt>
<dd><p>Close the Discord connection, and the aiohttp session, connector, statsd client, and resolver.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -532,7 +536,7 @@ a dummy statsd client will be created.</p></li>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.load_extensions">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">load_extensions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">module</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sync_app_commands</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L180-L190"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.load_extensions" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">load_extensions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">module</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sync_app_commands</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L180-L190"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.load_extensions" title="Link to this definition">#</a></dt>
<dd><p>Load all the extensions within the given <code class="docutils literal notranslate"><span class="pre">module</span></code> and save them to <code class="docutils literal notranslate"><span class="pre">self.all_extensions</span></code>.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -546,7 +550,7 @@ a dummy statsd client will be created.</p></li>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.log_to_dev_log">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">log_to_dev_log</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L265-L267"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.log_to_dev_log" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">log_to_dev_log</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L265-L267"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.log_to_dev_log" title="Link to this definition">#</a></dt>
<dd><p>Log the given message to #dev-log.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -557,7 +561,7 @@ a dummy statsd client will be created.</p></li>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.on_guild_available">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">on_guild_available</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">guild</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L248-L264"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.on_guild_available" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">on_guild_available</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">guild</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L248-L264"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.on_guild_available" title="Link to this definition">#</a></dt>
<dd><p>Set the internal guild available event when self.guild_id becomes available.</p>
<p>If the cache appears to still be empty (no members, no channels, or no roles), the event
will not be set and <cite>guild_available_but_cache_empty</cite> event will be emitted.</p>
@@ -570,7 +574,7 @@ will not be set and <cite>guild_available_but_cache_empty</cite> event will be e
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.on_guild_unavailable">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">on_guild_unavailable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">guild</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L241-L247"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.on_guild_unavailable" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">on_guild_unavailable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">guild</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L241-L247"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.on_guild_unavailable" title="Link to this definition">#</a></dt>
<dd><p>Clear the internal guild available event when self.guild_id becomes unavailable.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -581,7 +585,7 @@ will not be set and <cite>guild_available_but_cache_empty</cite> event will be e
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.ping_services">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ping_services</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L323-L325"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.ping_services" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ping_services</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L323-L325"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.ping_services" title="Link to this definition">#</a></dt>
<dd><p>Ping all required services on setup to ensure they are up before starting.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -592,7 +596,7 @@ will not be set and <cite>guild_available_but_cache_empty</cite> event will be e
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.process_commands">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">process_commands</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L277-L286"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.process_commands" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">process_commands</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L277-L286"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.process_commands" title="Link to this definition">#</a></dt>
<dd><p>Overwrite default Discord.py behaviour to process commands only after ensuring extensions are loaded.</p>
<p>This extension check is only relevant for clients that make use of <a class="reference internal" href="#pydis_core.BotBase.load_extensions" title="pydis_core.BotBase.load_extensions"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.BotBase.load_extensions</span></code></a>.</p>
<dl class="field-list simple">
@@ -604,7 +608,7 @@ will not be set and <cite>guild_available_but_cache_empty</cite> event will be e
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.register_command_error_manager">
-<span class="sig-name descname"><span class="pre">register_command_error_manager</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">manager</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L124-L133"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.register_command_error_manager" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">register_command_error_manager</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">manager</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L124-L133"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.register_command_error_manager" title="Link to this definition">#</a></dt>
<dd><p>Bind an instance of the command error manager to both the bot and the command tree.</p>
<p>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.</p>
@@ -617,7 +621,7 @@ So registration needs to happen once the bot instance has been created.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.remove_command">
-<span class="sig-name descname"><span class="pre">remove_command</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L222-L236"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.remove_command" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">remove_command</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L222-L236"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.remove_command" title="Link to this definition">#</a></dt>
<dd><p>Remove a command/alias as normal and then remove its root aliases from the bot.</p>
<p>Individual root aliases cannot be removed by this function.
To remove them, either remove the entire command or manually edit <cite>bot.all_commands</cite>.</p>
@@ -630,7 +634,7 @@ To remove them, either remove the entire command or manually edit <cite>bot.all_
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.setup_hook">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">setup_hook</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L287-L322"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.setup_hook" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">setup_hook</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L287-L322"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.setup_hook" title="Link to this definition">#</a></dt>
<dd><p>An async init to startup generic services.</p>
<p>Connects to statsd, and calls
<a class="reference internal" href="pydis_core.async_stats.html#pydis_core.async_stats.AsyncStatsClient.create_socket" title="pydis_core.async_stats.AsyncStatsClient.create_socket"><code class="xref py py-func docutils literal notranslate"><span class="pre">AsyncStatsClient.create_socket</span></code></a>
@@ -644,7 +648,7 @@ and <a class="reference internal" href="#pydis_core.BotBase.ping_services" title
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.wait_until_guild_available">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">wait_until_guild_available</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L268-L276"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.wait_until_guild_available" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">wait_until_guild_available</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L268-L276"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.wait_until_guild_available" title="Link to this definition">#</a></dt>
<dd><p>Wait until the guild that matches the <code class="docutils literal notranslate"><span class="pre">guild_id</span></code> given at init is available (and the cache is ready).</p>
<p>The on_ready event is inadequate because it only waits 2 seconds for a GUILD_CREATE
gateway event before giving up and thus not populating the cache for unavailable guilds.</p>
@@ -659,14 +663,14 @@ gateway event before giving up and thus not populating the cache for unavailable
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.EmptyPaginatorEmbedError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">EmptyPaginatorEmbedError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/pagination.py#L26-L28"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.EmptyPaginatorEmbedError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">EmptyPaginatorEmbedError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L26-L28"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.EmptyPaginatorEmbedError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
<p>Raised when attempting to paginate with empty contents.</p>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.LinePaginator">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LinePaginator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/pagination.py#L30-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LinePaginator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L30-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Paginator" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Paginator</span></code></a></p>
<p>A class that aids in paginating code blocks for Discord messages.</p>
<dl class="field-list simple">
@@ -683,14 +687,14 @@ gateway event before giving up and thus not populating the cache for unavailable
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.LinePaginator.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/pagination.py#L43-L81"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L43-L81"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator.__init__" title="Link to this definition">#</a></dt>
<dd><p>This function overrides the Paginator.__init__ from inside discord.ext.commands.</p>
<p>It overrides in order to allow us to configure the maximum number of lines per page.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.LinePaginator.add_line">
-<span class="sig-name descname"><span class="pre">add_line</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">line</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/pagination.py#L82-L134"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator.add_line" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">add_line</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">line</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L82-L134"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator.add_line" title="Link to this definition">#</a></dt>
<dd><p>Adds a line to the current page.</p>
<p>If a line on a page exceeds <cite>max_size</cite> characters, then <cite>max_size</cite> will go up to
<cite>scale_to_size</cite> for a single line before creating a new page for the overflow words. If it
@@ -718,7 +722,7 @@ page at a reasonable size.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.LinePaginator.paginate">
-<em class="property"><span class="pre">async</span><span class="w"> </span><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">paginate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pagination_emojis</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lines</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">embed</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">500</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">restrict_to_user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">300</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">footer_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exception_on_empty_embed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reply</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/pagination.py#L189-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator.paginate" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">paginate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pagination_emojis</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lines</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">embed</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">500</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">restrict_to_user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">300</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">footer_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exception_on_empty_embed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reply</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L189-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator.paginate" title="Link to this definition">#</a></dt>
<dd><p>Use a paginator and set of reactions to provide pagination over a set of lines.</p>
<p>The reactions are used to switch page, or to finish with pagination.</p>
<p>When used, this will send a message using <cite>ctx.send()</cite> and apply a set of reactions to it. These reactions may
@@ -762,7 +766,7 @@ to any user with a moderation role.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.PaginationEmojis">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PaginationEmojis</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/pagination.py#L16-L24"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.PaginationEmojis" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PaginationEmojis</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L16-L24"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.PaginationEmojis" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.pydantic.dev/latest/api/base_model/#pydantic.BaseModel" title="(in Pydantic v0.0.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseModel</span></code></a></p>
<p>The emojis that will be used for pagination.</p>
<dl class="py attribute">
@@ -789,12 +793,12 @@ mapping of field names to [<cite>FieldInfo</cite>][pydantic.fields.FieldInfo].</
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.StartupError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">StartupError</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">base</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L29-L35"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.StartupError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">StartupError</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">base</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L29-L35"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.StartupError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
<p>Exception class for startup errors.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.StartupError.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">base</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/_bot.py#L32-L35"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.StartupError.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">base</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L32-L35"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.StartupError.__init__" title="Link to this definition">#</a></dt>
<dd></dd></dl>
</dd></dl>
@@ -1064,7 +1068,7 @@ mapping of field names to [<cite>FieldInfo</cite>][pydantic.fields.FieldInfo].</
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.site_api.html b/main/output/pydis_core.site_api.html
index fc788d90..08ffba2a 100644
--- a/main/output/pydis_core.site_api.html
+++ b/main/output/pydis_core.site_api.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Local Development &amp; Testing" href="../development.html" /><link rel="prev" title="async_stats" href="pydis_core.async_stats.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>site_api - Pydis Core Latest (11.0.0)</title>
+ <title>site_api - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
@@ -386,12 +390,12 @@
<p>An API wrapper around the Site API.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">APIClient</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">site_api_url</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">site_api_token</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">session_kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/site_api.py#L41-L142"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">APIClient</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">site_api_url</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">site_api_token</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">session_kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L41-L142"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>A wrapper for the Django Site API.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">site_api_url</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">site_api_token</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">session_kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/site_api.py#L47-L70"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">site_api_url</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">site_api_token</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">session_kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L47-L70"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.__init__" title="Link to this definition">#</a></dt>
<dd><p>Initialize a new <a class="reference internal" href="#pydis_core.site_api.APIClient" title="pydis_core.site_api.APIClient"><code class="xref py py-obj docutils literal notranslate"><span class="pre">APIClient</span></code></a> instance.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -406,7 +410,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.close">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/site_api.py#L74-L77"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.close" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L74-L77"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.close" title="Link to this definition">#</a></dt>
<dd><p>Close the aiohttp session.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -417,7 +421,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.delete">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">delete</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/site_api.py#L139-L142"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.delete" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">delete</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L139-L142"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.delete" title="Link to this definition">#</a></dt>
<dd><p>Equivalent to <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> with DELETE passed as the method.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -428,7 +432,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.get">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/site_api.py#L123-L126"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.get" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L123-L126"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.get" title="Link to this definition">#</a></dt>
<dd><p>Equivalent to <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> with GET passed as the method.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -439,7 +443,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.maybe_raise_for_status">
-<em class="property"><span class="pre">async</span><span class="w"> </span><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">maybe_raise_for_status</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">should_raise</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/site_api.py#L78-L98"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.maybe_raise_for_status" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">maybe_raise_for_status</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">should_raise</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L78-L98"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.maybe_raise_for_status" title="Link to this definition">#</a></dt>
<dd><p>Raise <a class="reference internal" href="#pydis_core.site_api.ResponseCodeError" title="pydis_core.site_api.ResponseCodeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ResponseCodeError</span></code></a> for non-OK response if an exception should be raised.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -459,7 +463,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.patch">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">patch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/site_api.py#L127-L130"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.patch" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">patch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L127-L130"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.patch" title="Link to this definition">#</a></dt>
<dd><p>Equivalent to <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> with PATCH passed as the method.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -470,7 +474,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.post">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">post</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/site_api.py#L131-L134"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.post" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">post</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L131-L134"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.post" title="Link to this definition">#</a></dt>
<dd><p>Equivalent to <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> with POST passed as the method.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -481,7 +485,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.put">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">put</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/site_api.py#L135-L138"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.put" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">put</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L135-L138"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.put" title="Link to this definition">#</a></dt>
<dd><p>Equivalent to <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> with PUT passed as the method.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -492,7 +496,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.request">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">request</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/site_api.py#L99-L122"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.request" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">request</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L99-L122"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.request" title="Link to this definition">#</a></dt>
<dd><p>Send an HTTP request to the site API and return the JSON response.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -519,12 +523,12 @@
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.site_api.ResponseCodeError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ResponseCodeError</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_json</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/site_api.py#L13-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.ResponseCodeError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ResponseCodeError</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_json</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L13-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.ResponseCodeError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#ValueError" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ValueError</span></code></a></p>
<p>Raised in <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> when a non-OK HTTP response is received.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.ResponseCodeError.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_json</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/site_api.py#L16-L34"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.ResponseCodeError.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_json</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L16-L34"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.ResponseCodeError.__init__" title="Link to this definition">#</a></dt>
<dd><p>Initialize a new <a class="reference internal" href="#pydis_core.site_api.ResponseCodeError" title="pydis_core.site_api.ResponseCodeError"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ResponseCodeError</span></code></a> instance.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -539,7 +543,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.ResponseCodeError.__str__">
-<span class="sig-name descname"><span class="pre">__str__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/site_api.py#L35-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.ResponseCodeError.__str__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__str__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L35-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.ResponseCodeError.__str__" title="Link to this definition">#</a></dt>
<dd><p>Return a string representation of the error.</p>
</dd></dl>
@@ -631,7 +635,7 @@
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.caching.html b/main/output/pydis_core.utils.caching.html
index c0fad19c..84adee23 100644
--- a/main/output/pydis_core.utils.caching.html
+++ b/main/output/pydis_core.utils.caching.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="channel" href="pydis_core.utils.channel.html" /><link rel="prev" title="manager" href="pydis_core.utils.error_handling.commands.manager.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>caching - Pydis Core Latest (11.0.0)</title>
+ <title>caching - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
@@ -386,14 +390,14 @@
<p>Utilities related to custom caches.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.caching.AsyncCache">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">AsyncCache</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">128</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/caching.py#L8-L66"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">AsyncCache</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">128</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/caching.py#L8-L66"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>LRU cache implementation for coroutines.</p>
<p>Once the cache exceeds the maximum size, keys are deleted in FIFO order.</p>
<p>An offset may be optionally provided to be applied to the coroutine’s arguments when creating the cache key.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.caching.AsyncCache.__call__">
-<span class="sig-name descname"><span class="pre">__call__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">arg_offset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/caching.py#L27-L62"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache.__call__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__call__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">arg_offset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/caching.py#L27-L62"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache.__call__" title="Link to this definition">#</a></dt>
<dd><p>Decorator for async cache.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -410,7 +414,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.caching.AsyncCache.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">128</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/caching.py#L17-L26"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">128</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/caching.py#L17-L26"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache.__init__" title="Link to this definition">#</a></dt>
<dd><p>Initialise a new <a class="reference internal" href="#pydis_core.utils.caching.AsyncCache" title="pydis_core.utils.caching.AsyncCache"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AsyncCache</span></code></a> instance.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -421,7 +425,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.caching.AsyncCache.clear">
-<span class="sig-name descname"><span class="pre">clear</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/caching.py#L63-L66"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache.clear" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">clear</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/caching.py#L63-L66"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache.clear" title="Link to this definition">#</a></dt>
<dd><p>Clear cache instance.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -507,7 +511,7 @@
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.channel.html b/main/output/pydis_core.utils.channel.html
index 3115d5c4..af3d4fd4 100644
--- a/main/output/pydis_core.utils.channel.html
+++ b/main/output/pydis_core.utils.channel.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="checks" href="pydis_core.utils.checks.html" /><link rel="prev" title="caching" href="pydis_core.utils.caching.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>channel - Pydis Core Latest (11.0.0)</title>
+ <title>channel - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
@@ -386,7 +390,7 @@
<p>Useful helper functions for interacting with various discord channel objects.</p>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.channel.get_or_fetch_channel">
-<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get_or_fetch_channel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bot</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">channel_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/channel.py#L25-L58"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.channel.get_or_fetch_channel" title="Link to this definition">#</a></dt>
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get_or_fetch_channel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bot</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">channel_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/channel.py#L25-L58"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.channel.get_or_fetch_channel" title="Link to this definition">#</a></dt>
<dd><p>Attempt to get or fetch the given <code class="docutils literal notranslate"><span class="pre">channel_id</span></code> from the bots cache, and return it.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -414,7 +418,7 @@
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.channel.is_in_category">
-<span class="sig-name descname"><span class="pre">is_in_category</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">channel</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">category_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/channel.py#L11-L23"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.channel.is_in_category" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">is_in_category</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">channel</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">category_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/channel.py#L11-L23"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.channel.is_in_category" title="Link to this definition">#</a></dt>
<dd><p>Return whether the given <code class="docutils literal notranslate"><span class="pre">channel</span></code> in the the category with the id <code class="docutils literal notranslate"><span class="pre">category_id</span></code>.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -503,7 +507,7 @@
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.checks.html b/main/output/pydis_core.utils.checks.html
index 355b9cdf..c0328089 100644
--- a/main/output/pydis_core.utils.checks.html
+++ b/main/output/pydis_core.utils.checks.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="commands" href="pydis_core.utils.commands.html" /><link rel="prev" title="channel" href="pydis_core.utils.channel.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>checks - Pydis Core Latest (11.0.0)</title>
+ <title>checks - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.checks.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.checks.html">v11.0.0</a>
</li>
@@ -385,26 +389,26 @@
<span id="checks"></span><h1>checks<a class="headerlink" href="#module-pydis_core.utils.checks" title="Link to this heading">#</a></h1>
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.checks.ContextCheckFailure">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ContextCheckFailure</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">redirect_channel</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/checks.py#L20-L34"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.ContextCheckFailure" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ContextCheckFailure</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">redirect_channel</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/checks.py#L20-L34"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.ContextCheckFailure" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.CheckFailure" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">CheckFailure</span></code></a></p>
<p>Raised when a context-specific check fails.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.checks.ContextCheckFailure.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">redirect_channel</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/checks.py#L23-L34"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.ContextCheckFailure.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">redirect_channel</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/checks.py#L23-L34"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.ContextCheckFailure.__init__" title="Link to this definition">#</a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.checks.InWhitelistCheckFailure">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">InWhitelistCheckFailure</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">redirect_channel</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/checks.py#L36-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.InWhitelistCheckFailure" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">InWhitelistCheckFailure</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">redirect_channel</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/checks.py#L36-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.InWhitelistCheckFailure" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference internal" href="#pydis_core.utils.checks.ContextCheckFailure" title="pydis_core.utils.checks.ContextCheckFailure"><code class="xref py py-class docutils literal notranslate"><span class="pre">ContextCheckFailure</span></code></a></p>
<p>Raised when the <cite>in_whitelist</cite> check fails.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.checks.cooldown_with_role_bypass">
-<span class="sig-name descname"><span class="pre">cooldown_with_role_bypass</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rate</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">per</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">type_</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('default',</span> <span class="pre">0)</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bypass_roles</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/checks.py#L100-L161"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.cooldown_with_role_bypass" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">cooldown_with_role_bypass</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rate</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">per</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">type_</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('default',</span> <span class="pre">0)</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bypass_roles</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/checks.py#L100-L161"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.cooldown_with_role_bypass" title="Link to this definition">#</a></dt>
<dd><p>Decorate a command to have a cooldown, which can be bypassed by users with specified roles.</p>
<p>Note: This replaces the <cite>Command.before_invoke</cite> callback, which <em>might</em> introduce problems in the future.</p>
<dl class="field-list simple">
@@ -430,7 +434,7 @@
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.checks.has_any_role_check">
-<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">has_any_role_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">roles</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/checks.py#L163-L193"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.has_any_role_check" title="Link to this definition">#</a></dt>
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">has_any_role_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">roles</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/checks.py#L163-L193"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.has_any_role_check" title="Link to this definition">#</a></dt>
<dd><p>Verify if the context’s author has any of the specified roles.</p>
<p>This check will always fail if the context is a DM, since DMs don’t have roles.</p>
<dl class="field-list simple">
@@ -451,7 +455,7 @@
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.checks.has_no_roles_check">
-<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">has_no_roles_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">roles</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/checks.py#L195-L222"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.has_no_roles_check" title="Link to this definition">#</a></dt>
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">has_no_roles_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">roles</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/checks.py#L195-L222"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.has_no_roles_check" title="Link to this definition">#</a></dt>
<dd><p>Verify if the context’s author doesn’t have any of the specified roles.</p>
<p>This check will always fail if the context is a DM, since DMs don’t have roles.</p>
<dl class="field-list simple">
@@ -472,7 +476,7 @@
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.checks.in_whitelist_check">
-<span class="sig-name descname"><span class="pre">in_whitelist_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">redirect</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">channels</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">categories</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fail_silently</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/checks.py#L40-L98"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.in_whitelist_check" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">in_whitelist_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">redirect</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">channels</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">categories</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fail_silently</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/checks.py#L40-L98"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.in_whitelist_check" title="Link to this definition">#</a></dt>
<dd><p>Check if a command was issued in a context that is whitelisted by channel, category, or roles.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -575,7 +579,7 @@
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.commands.html b/main/output/pydis_core.utils.commands.html
index 807f62ff..341c8954 100644
--- a/main/output/pydis_core.utils.commands.html
+++ b/main/output/pydis_core.utils.commands.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="cooldown" href="pydis_core.utils.cooldown.html" /><link rel="prev" title="checks" href="pydis_core.utils.checks.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>commands - Pydis Core Latest (11.0.0)</title>
+ <title>commands - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
@@ -385,7 +389,7 @@
<span id="commands"></span><h1>commands<a class="headerlink" href="#module-pydis_core.utils.commands" title="Link to this heading">#</a></h1>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.commands.clean_text_or_reply">
-<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">clean_text_or_reply</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/commands.py#L6-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.commands.clean_text_or_reply" title="Link to this definition">#</a></dt>
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">clean_text_or_reply</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/commands.py#L6-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.commands.clean_text_or_reply" title="Link to this definition">#</a></dt>
<dd><p>Cleans a text argument or replied message’s content.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -476,7 +480,7 @@
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.cooldown.html b/main/output/pydis_core.utils.cooldown.html
index 7bfc145c..90e32923 100644
--- a/main/output/pydis_core.utils.cooldown.html
+++ b/main/output/pydis_core.utils.cooldown.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="function" href="pydis_core.utils.function.html" /><link rel="prev" title="commands" href="pydis_core.utils.commands.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>cooldown - Pydis Core Latest (11.0.0)</title>
+ <title>cooldown - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
@@ -386,17 +390,17 @@
<p>Helpers for setting a cooldown on commands.</p>
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.cooldown.CommandOnCooldown">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CommandOnCooldown</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">function</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">/</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/cooldown.py#L36-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.CommandOnCooldown" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CommandOnCooldown</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">function</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">/</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/cooldown.py#L36-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.CommandOnCooldown" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.CommandError" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">CommandError</span></code></a>, <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Generic" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Generic</span></code></a>[<a class="reference internal" href="#pydis_core.utils.cooldown.P" title="pydis_core.utils.cooldown.P"><code class="xref py py-obj docutils literal notranslate"><span class="pre">P</span></code></a>, <a class="reference internal" href="#pydis_core.utils.cooldown.R" title="pydis_core.utils.cooldown.R"><code class="xref py py-obj docutils literal notranslate"><span class="pre">R</span></code></a>]</p>
<p>Raised when a command is invoked while on cooldown.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.cooldown.CommandOnCooldown.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">function</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">/</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/cooldown.py#L39-L51"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.CommandOnCooldown.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">function</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">/</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/cooldown.py#L39-L51"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.CommandOnCooldown.__init__" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">call_without_cooldown</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/cooldown.py#L52-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">call_without_cooldown</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/cooldown.py#L52-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown" title="Link to this definition">#</a></dt>
<dd><p>Run the command this cooldown blocked.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -412,20 +416,20 @@
<dl class="py data">
<dt class="sig sig-object py" id="pydis_core.utils.cooldown.P">
-<span class="sig-name descname"><span class="pre">P</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">~P</span></em><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/cooldown.py#L30"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.P" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">P</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">~P</span></em><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/cooldown.py#L30"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.P" title="Link to this definition">#</a></dt>
<dd><p>The command’s signature.</p>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.cooldown.R">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">R</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/cooldown.py#L32"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.R" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">R</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/cooldown.py#L32"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.R" title="Link to this definition">#</a></dt>
<dd><p>The command’s return value.</p>
<p>alias of TypeVar(‘R’)</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.cooldown.block_duplicate_invocations">
-<span class="sig-name descname"><span class="pre">block_duplicate_invocations</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cooldown_duration</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">send_notice</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args_preprocessor</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/cooldown.py#L174-L220"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.block_duplicate_invocations" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">block_duplicate_invocations</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cooldown_duration</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">send_notice</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args_preprocessor</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/cooldown.py#L174-L220"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.block_duplicate_invocations" title="Link to this definition">#</a></dt>
<dd><p>Prevent duplicate invocations of a command with the same arguments in a channel for <code class="docutils literal notranslate"><span class="pre">cooldown_duration</span></code> seconds.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -526,7 +530,7 @@ its return value is then used to check for the cooldown instead of the raw argum
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.error_handling.commands.abc.html b/main/output/pydis_core.utils.error_handling.commands.abc.html
index 4bdbc964..d4b58582 100644
--- a/main/output/pydis_core.utils.error_handling.commands.abc.html
+++ b/main/output/pydis_core.utils.error_handling.commands.abc.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="manager" href="pydis_core.utils.error_handling.commands.manager.html" /><link rel="prev" title="commands package" href="pydis_core.utils.error_handling.commands.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>abc - Pydis Core Latest (11.0.0)</title>
+ <title>abc - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.commands.abc.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.commands.abc.html">v11.0.0</a>
</li>
@@ -385,12 +389,12 @@
<span id="abc"></span><h1>abc<a class="headerlink" href="#module-pydis_core.utils.error_handling.commands.abc" title="Link to this heading">#</a></h1>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">AbstractCommandErrorHandler</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/error_handling/commands/abc.py#L8-L25"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">AbstractCommandErrorHandler</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/abc.py#L8-L25"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/abc.html#abc.ABC" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ABC</span></code></a></p>
<p>An abstract command error handler.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_app_command_error">
-<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_app_command_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interaction</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/error_handling/commands/abc.py#L16-L20"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_app_command_error" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_app_command_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interaction</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/abc.py#L16-L20"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_app_command_error" title="Link to this definition">#</a></dt>
<dd><p>Handle error raised in the context of app commands.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -401,7 +405,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_text_command_error">
-<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_text_command_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">context</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/error_handling/commands/abc.py#L21-L25"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_text_command_error" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_text_command_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">context</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/abc.py#L21-L25"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_text_command_error" title="Link to this definition">#</a></dt>
<dd><p>Handle error raised in the context of text commands.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -412,7 +416,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.should_handle_error">
-<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">should_handle_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/error_handling/commands/abc.py#L11-L15"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.should_handle_error" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">should_handle_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/abc.py#L11-L15"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.should_handle_error" title="Link to this definition">#</a></dt>
<dd><p>A predicate that determines whether the error should be handled.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -498,7 +502,7 @@
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.error_handling.commands.html b/main/output/pydis_core.utils.error_handling.commands.html
index 2572ecf9..e76c7f6c 100644
--- a/main/output/pydis_core.utils.error_handling.commands.html
+++ b/main/output/pydis_core.utils.error_handling.commands.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="abc" href="pydis_core.utils.error_handling.commands.abc.html" /><link rel="prev" title="error_handling package" href="pydis_core.utils.error_handling.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>commands package - Pydis Core Latest (11.0.0)</title>
+ <title>commands package - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.commands.html">v11.0.0</a>
</li>
@@ -385,12 +389,12 @@
<span id="commands-package"></span><h1>commands package<a class="headerlink" href="#module-pydis_core.utils.error_handling.commands" title="Link to this heading">#</a></h1>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">AbstractCommandErrorHandler</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/error_handling/commands/abc.py#L8-L25"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">AbstractCommandErrorHandler</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/abc.py#L8-L25"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/abc.html#abc.ABC" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ABC</span></code></a></p>
<p>An abstract command error handler.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_app_command_error">
-<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_app_command_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interaction</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/error_handling/commands/abc.py#L16-L20"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_app_command_error" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_app_command_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interaction</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/abc.py#L16-L20"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_app_command_error" title="Link to this definition">#</a></dt>
<dd><p>Handle error raised in the context of app commands.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -401,7 +405,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_text_command_error">
-<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_text_command_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">context</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/error_handling/commands/abc.py#L21-L25"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_text_command_error" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_text_command_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">context</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/abc.py#L21-L25"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_text_command_error" title="Link to this definition">#</a></dt>
<dd><p>Handle error raised in the context of text commands.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -412,7 +416,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.should_handle_error">
-<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">should_handle_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/error_handling/commands/abc.py#L11-L15"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.should_handle_error" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">should_handle_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/abc.py#L11-L15"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.should_handle_error" title="Link to this definition">#</a></dt>
<dd><p>A predicate that determines whether the error should be handled.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -425,17 +429,17 @@
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.CommandErrorManager">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CommandErrorManager</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/error_handling/commands/manager.py#L13-L59"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.CommandErrorManager" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CommandErrorManager</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/manager.py#L13-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.CommandErrorManager" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>A class that registers error handlers and handles all command related errors.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.CommandErrorManager.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/error_handling/commands/manager.py#L16-L20"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.CommandErrorManager.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/manager.py#L16-L20"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.CommandErrorManager.__init__" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.CommandErrorManager.handle_error">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">context_or_interaction</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/error_handling/commands/manager.py#L21-L37"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.CommandErrorManager.handle_error" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">context_or_interaction</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/manager.py#L21-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.CommandErrorManager.handle_error" title="Link to this definition">#</a></dt>
<dd><p>Handle a Discord exception.</p>
<p>Iterate through available handlers by registration order, and choose the first one capable of handling
the error as determined by <cite>should_handle_error</cite>; there is no priority system.</p>
@@ -448,7 +452,7 @@ the error as determined by <cite>should_handle_error</cite>; there is no priorit
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.CommandErrorManager.register_handler">
-<span class="sig-name descname"><span class="pre">register_handler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/error_handling/commands/manager.py#L38-L47"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.CommandErrorManager.register_handler" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">register_handler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/manager.py#L39-L48"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.CommandErrorManager.register_handler" title="Link to this definition">#</a></dt>
<dd><p>Register a command error handler.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -566,7 +570,7 @@ the error as determined by <cite>should_handle_error</cite>; there is no priorit
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.error_handling.commands.manager.html b/main/output/pydis_core.utils.error_handling.commands.manager.html
index 28b88dcf..0cf98eb6 100644
--- a/main/output/pydis_core.utils.error_handling.commands.manager.html
+++ b/main/output/pydis_core.utils.error_handling.commands.manager.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="caching" href="pydis_core.utils.caching.html" /><link rel="prev" title="abc" href="pydis_core.utils.error_handling.commands.abc.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>manager - Pydis Core Latest (11.0.0)</title>
+ <title>manager - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.commands.manager.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.commands.manager.html">v11.0.0</a>
</li>
@@ -385,17 +389,17 @@
<span id="manager"></span><h1>manager<a class="headerlink" href="#module-pydis_core.utils.error_handling.commands.manager" title="Link to this heading">#</a></h1>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.manager.CommandErrorManager">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CommandErrorManager</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/error_handling/commands/manager.py#L13-L59"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.manager.CommandErrorManager" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CommandErrorManager</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/manager.py#L13-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.manager.CommandErrorManager" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>A class that registers error handlers and handles all command related errors.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.manager.CommandErrorManager.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/error_handling/commands/manager.py#L16-L20"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/manager.py#L16-L20"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.__init__" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.manager.CommandErrorManager.handle_error">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">context_or_interaction</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/error_handling/commands/manager.py#L21-L37"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.handle_error" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">context_or_interaction</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/manager.py#L21-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.handle_error" title="Link to this definition">#</a></dt>
<dd><p>Handle a Discord exception.</p>
<p>Iterate through available handlers by registration order, and choose the first one capable of handling
the error as determined by <cite>should_handle_error</cite>; there is no priority system.</p>
@@ -408,7 +412,7 @@ the error as determined by <cite>should_handle_error</cite>; there is no priorit
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.manager.CommandErrorManager.register_handler">
-<span class="sig-name descname"><span class="pre">register_handler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/error_handling/commands/manager.py#L38-L47"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.register_handler" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">register_handler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/manager.py#L39-L48"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.register_handler" title="Link to this definition">#</a></dt>
<dd><p>Register a command error handler.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -494,7 +498,7 @@ the error as determined by <cite>should_handle_error</cite>; there is no priorit
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.error_handling.html b/main/output/pydis_core.utils.error_handling.html
index 9910dcf3..935b7693 100644
--- a/main/output/pydis_core.utils.error_handling.html
+++ b/main/output/pydis_core.utils.error_handling.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="commands package" href="pydis_core.utils.error_handling.commands.html" /><link rel="prev" title="Utils" href="pydis_core.utils.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>error_handling package - Pydis Core Latest (11.0.0)</title>
+ <title>error_handling package - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
@@ -385,7 +389,7 @@
<span id="error-handling-package"></span><h1>error_handling package<a class="headerlink" href="#module-pydis_core.utils.error_handling" title="Link to this heading">#</a></h1>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.handle_forbidden_from_block">
-<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_forbidden_from_block</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/error_handling/__init__.py#L8-L36"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.handle_forbidden_from_block" title="Link to this definition">#</a></dt>
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_forbidden_from_block</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/__init__.py#L8-L36"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.handle_forbidden_from_block" title="Link to this definition">#</a></dt>
<dd><p>Handles <code class="docutils literal notranslate"><span class="pre">discord.Forbidden</span></code> 90001 errors, or re-raises if <code class="docutils literal notranslate"><span class="pre">error</span></code> isn’t a 90001 error.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -504,7 +508,7 @@
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.function.html b/main/output/pydis_core.utils.function.html
index a41c0d3e..714ecaf0 100644
--- a/main/output/pydis_core.utils.function.html
+++ b/main/output/pydis_core.utils.function.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="interactions" href="pydis_core.utils.interactions.html" /><link rel="prev" title="cooldown" href="pydis_core.utils.cooldown.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>function - Pydis Core Latest (11.0.0)</title>
+ <title>function - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
@@ -386,14 +390,14 @@
<p>Utils for manipulating functions.</p>
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.function.GlobalNameConflictError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GlobalNameConflictError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/function.py#L31-L33"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.GlobalNameConflictError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GlobalNameConflictError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/function.py#L31-L33"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.GlobalNameConflictError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
<p>Raised on a conflict between the globals used to resolve annotations of a wrapped function and its wrapper.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.function.command_wraps">
-<span class="sig-name descname"><span class="pre">command_wraps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wrapped</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">assigned</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('__module__',</span> <span class="pre">'__name__',</span> <span class="pre">'__qualname__',</span> <span class="pre">'__doc__',</span> <span class="pre">'__annotations__')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">updated</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('__dict__',)</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignored_conflict_names</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">frozenset({})</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/function.py#L173-L204"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.command_wraps" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">command_wraps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wrapped</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">assigned</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('__module__',</span> <span class="pre">'__name__',</span> <span class="pre">'__qualname__',</span> <span class="pre">'__doc__',</span> <span class="pre">'__annotations__')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">updated</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('__dict__',)</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignored_conflict_names</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">frozenset({})</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/function.py#L173-L204"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.command_wraps" title="Link to this definition">#</a></dt>
<dd><p>Update the decorated function to look like <code class="docutils literal notranslate"><span class="pre">wrapped</span></code>, and update globals for discord.py forwardref evaluation.</p>
<p>See <a class="reference internal" href="#pydis_core.utils.function.update_wrapper_globals" title="pydis_core.utils.function.update_wrapper_globals"><code class="xref py py-func docutils literal notranslate"><span class="pre">update_wrapper_globals()</span></code></a> for more details on how the globals are updated.</p>
<dl class="field-list simple">
@@ -417,7 +421,7 @@ with the wrapper replaced with the function <a class="reference internal" href="
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.function.get_arg_value">
-<span class="sig-name descname"><span class="pre">get_arg_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name_or_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arguments</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/function.py#L35-L66"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.get_arg_value" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">get_arg_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name_or_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arguments</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/function.py#L35-L66"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.get_arg_value" title="Link to this definition">#</a></dt>
<dd><p>Return a value from <cite>arguments</cite> based on a name or position.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -440,7 +444,7 @@ with the wrapper replaced with the function <a class="reference internal" href="
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.function.get_arg_value_wrapper">
-<span class="sig-name descname"><span class="pre">get_arg_value_wrapper</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">decorator_func</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name_or_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/function.py#L68-L92"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.get_arg_value_wrapper" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">get_arg_value_wrapper</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">decorator_func</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name_or_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/function.py#L68-L92"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.get_arg_value_wrapper" title="Link to this definition">#</a></dt>
<dd><p>Call <cite>decorator_func</cite> with the value of the arg at the given name/position.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -462,7 +466,7 @@ parameter names to argument values of the function it’s decorating.</p></li>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.function.get_bound_args">
-<span class="sig-name descname"><span class="pre">get_bound_args</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/function.py#L94-L112"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.get_bound_args" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">get_bound_args</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/function.py#L94-L112"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.get_bound_args" title="Link to this definition">#</a></dt>
<dd><p>Bind <cite>args</cite> and <cite>kwargs</cite> to <cite>func</cite> and return a mapping of parameter names to argument values.</p>
<p>Default parameter values are also set.</p>
<dl class="field-list simple">
@@ -484,7 +488,7 @@ parameter names to argument values of the function it’s decorating.</p></li>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.function.update_wrapper_globals">
-<span class="sig-name descname"><span class="pre">update_wrapper_globals</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wrapper</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wrapped</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignored_conflict_names</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">frozenset({})</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/function.py#L114-L171"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.update_wrapper_globals" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">update_wrapper_globals</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wrapper</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wrapped</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignored_conflict_names</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">frozenset({})</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/function.py#L114-L171"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.update_wrapper_globals" title="Link to this definition">#</a></dt>
<dd><p>Create a copy of <code class="docutils literal notranslate"><span class="pre">wrapper</span></code>, the copy’s globals are updated with <code class="docutils literal notranslate"><span class="pre">wrapped</span></code>'s globals.</p>
<p>For forwardrefs in command annotations, discord.py uses the <code class="docutils literal notranslate"><span class="pre">__global__</span></code> attribute of the function
to resolve their values. This breaks for decorators that replace the function because they have
@@ -587,7 +591,7 @@ changes won’t be reflected in the new function’s globals.</p>
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.html b/main/output/pydis_core.utils.html
index 9bca6ba1..6518a60e 100644
--- a/main/output/pydis_core.utils.html
+++ b/main/output/pydis_core.utils.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="error_handling package" href="pydis_core.utils.error_handling.html" /><link rel="prev" title="Exts" href="pydis_core.exts.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>Utils - Pydis Core Latest (11.0.0)</title>
+ <title>Utils - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
@@ -386,7 +390,7 @@
<p>Useful utilities and tools for Discord bot development.</p>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.apply_monkey_patches">
-<span class="sig-name descname"><span class="pre">apply_monkey_patches</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/__init__.py#L28-L42"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.apply_monkey_patches" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">apply_monkey_patches</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/__init__.py#L28-L42"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.apply_monkey_patches" title="Link to this definition">#</a></dt>
<dd><p>Applies all common monkey patches for our bots.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -405,7 +409,7 @@ that will act as top-level groups rather than being aliases of the command’s g
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.unqualify">
-<span class="sig-name descname"><span class="pre">unqualify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/_extensions.py#L10-L21"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.unqualify" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">unqualify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/_extensions.py#L10-L21"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.unqualify" title="Link to this definition">#</a></dt>
<dd><p>Return an unqualified name given a qualified module/package <code class="docutils literal notranslate"><span class="pre">name</span></code>.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -678,7 +682,7 @@ that will act as top-level groups rather than being aliases of the command’s g
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.interactions.html b/main/output/pydis_core.utils.interactions.html
index 68a7bf26..237e1bb2 100644
--- a/main/output/pydis_core.utils.interactions.html
+++ b/main/output/pydis_core.utils.interactions.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="lock" href="pydis_core.utils.lock.html" /><link rel="prev" title="function" href="pydis_core.utils.function.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>interactions - Pydis Core Latest (11.0.0)</title>
+ <title>interactions - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
@@ -385,7 +389,7 @@
<span id="interactions"></span><h1>interactions<a class="headerlink" href="#module-pydis_core.utils.interactions" title="Link to this heading">#</a></h1>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.DeleteMessageButton">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">DeleteMessageButton</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">style</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('secondary',</span> <span class="pre">2)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Delete'</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/interactions.py#L110-L136"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.DeleteMessageButton" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">DeleteMessageButton</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">style</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('secondary',</span> <span class="pre">2)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Delete'</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L110-L136"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.DeleteMessageButton" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/interactions/api.html#discord.ui.Button" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Button</span></code></a></p>
<p>A button that can be added to a view to delete the message containing the view on click.</p>
<p>This button itself carries out no interaction checks, these should be done by the parent view.</p>
@@ -400,12 +404,12 @@
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.DeleteMessageButton.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">style</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('secondary',</span> <span class="pre">2)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Delete'</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/interactions.py#L124-L132"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.DeleteMessageButton.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">style</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('secondary',</span> <span class="pre">2)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Delete'</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L124-L132"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.DeleteMessageButton.__init__" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.DeleteMessageButton.callback">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">callback</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interaction</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/interactions.py#L133-L136"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.DeleteMessageButton.callback" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">callback</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interaction</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L133-L136"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.DeleteMessageButton.callback" title="Link to this definition">#</a></dt>
<dd><p>Delete the original message on button click.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -418,7 +422,7 @@
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.ViewWithUserAndRoleCheck">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ViewWithUserAndRoleCheck</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/interactions.py#L49-L108"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ViewWithUserAndRoleCheck</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L49-L108"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/interactions/api.html#discord.ui.View" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">View</span></code></a></p>
<p>A view that allows the original invoker and moderators to interact with it.</p>
<dl class="field-list simple">
@@ -435,12 +439,12 @@ If <code class="docutils literal notranslate"><span class="pre">None</span></cod
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/interactions.py#L62-L74"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L62-L74"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">interaction_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interaction</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/interactions.py#L75-L97"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">interaction_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interaction</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L75-L97"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check" title="Link to this definition">#</a></dt>
<dd><p>Ensure the user clicking the button is the view invoker, or a moderator.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -454,7 +458,7 @@ If <code class="docutils literal notranslate"><span class="pre">None</span></cod
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">on_timeout</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/interactions.py#L104-L108"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">on_timeout</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L104-L108"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout" title="Link to this definition">#</a></dt>
<dd><p>Remove the view from <code class="docutils literal notranslate"><span class="pre">self.message</span></code> if set.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -465,7 +469,7 @@ If <code class="docutils literal notranslate"><span class="pre">None</span></cod
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop">
-<span class="sig-name descname"><span class="pre">stop</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/interactions.py#L98-L103"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">stop</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L98-L103"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop" title="Link to this definition">#</a></dt>
<dd><p>Stop listening for interactions, and remove the view from <code class="docutils literal notranslate"><span class="pre">self.message</span></code> if set.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -478,7 +482,7 @@ If <code class="docutils literal notranslate"><span class="pre">None</span></cod
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.user_has_access">
-<span class="sig-name descname"><span class="pre">user_has_access</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">user</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/interactions.py#L12-L29"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.user_has_access" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">user_has_access</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">user</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L12-L29"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.user_has_access" title="Link to this definition">#</a></dt>
<dd><p>Return whether the user is in the allowed_users list, or has a role from allowed_roles.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -576,7 +580,7 @@ If <code class="docutils literal notranslate"><span class="pre">None</span></cod
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.lock.html b/main/output/pydis_core.utils.lock.html
index 2081d636..254a47cd 100644
--- a/main/output/pydis_core.utils.lock.html
+++ b/main/output/pydis_core.utils.lock.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="logging" href="pydis_core.utils.logging.html" /><link rel="prev" title="interactions" href="pydis_core.utils.interactions.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>lock - Pydis Core Latest (11.0.0)</title>
+ <title>lock - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.lock.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.lock.html">v11.0.0</a>
</li>
@@ -385,12 +389,12 @@
<span id="lock"></span><h1>lock<a class="headerlink" href="#module-pydis_core.utils.lock" title="Link to this heading">#</a></h1>
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.lock.LockedResourceError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LockedResourceError</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">resource_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resource_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/lock.py#L22-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LockedResourceError</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">resource_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resource_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L22-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#RuntimeError" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">RuntimeError</span></code></a></p>
<p>Exception raised when an operation is attempted on a locked resource.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.utils.lock.LockedResourceError.type">
-<span class="sig-name descname"><span class="pre">type</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/lock.py#L22-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError.type" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">type</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L22-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError.type" title="Link to this definition">#</a></dt>
<dd><p>Name of the locked resource’s type</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
@@ -401,7 +405,7 @@
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.utils.lock.LockedResourceError.id">
-<span class="sig-name descname"><span class="pre">id</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/lock.py#L22-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError.id" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">id</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L22-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError.id" title="Link to this definition">#</a></dt>
<dd><p>ID of the locked resource</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
@@ -412,38 +416,38 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.lock.LockedResourceError.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">resource_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resource_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/lock.py#L31-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">resource_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resource_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L31-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError.__init__" title="Link to this definition">#</a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.lock.SharedEvent">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">SharedEvent</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/lock.py#L41-L68"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">SharedEvent</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L41-L68"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>Context manager managing an internal event exposed through the wait coro.</p>
<p>While any code is executing in this context manager, the underlying event will not be set;
when all of the holders finish the event will be set.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.lock.SharedEvent.__enter__">
-<span class="sig-name descname"><span class="pre">__enter__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/lock.py#L54-L58"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.__enter__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__enter__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L54-L58"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.__enter__" title="Link to this definition">#</a></dt>
<dd><p>Increment the count of the active holders and clear the internal event.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.lock.SharedEvent.__exit__">
-<span class="sig-name descname"><span class="pre">__exit__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">_exc_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">_exc_val</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">_exc_tb</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/lock.py#L59-L64"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.__exit__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__exit__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">_exc_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">_exc_val</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">_exc_tb</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L59-L64"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.__exit__" title="Link to this definition">#</a></dt>
<dd><p>Decrement the count of the active holders; if 0 is reached set the internal event.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.lock.SharedEvent.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/lock.py#L49-L53"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L49-L53"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.__init__" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.lock.SharedEvent.wait">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">wait</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/lock.py#L65-L68"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.wait" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">wait</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L65-L68"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.wait" title="Link to this definition">#</a></dt>
<dd><p>Wait for all active holders to exit.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -456,7 +460,7 @@ when all of the holders finish the event will be set.</p>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.lock.lock">
-<span class="sig-name descname"><span class="pre">lock</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">namespace</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resource_id</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_error</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wait</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/lock.py#L70-L137"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.lock" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">lock</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">namespace</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resource_id</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_error</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wait</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L70-L137"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.lock" title="Link to this definition">#</a></dt>
<dd><p>Turn the decorated coroutine function into a mutually exclusive operation on a <cite>resource_id</cite>.</p>
<p>If decorating a command, this decorator must go before (below) the <cite>command</cite> decorator.</p>
<dl class="field-list simple">
@@ -483,7 +487,7 @@ and return None.</p></li>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.lock.lock_arg">
-<span class="sig-name descname"><span class="pre">lock_arg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">namespace</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name_or_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_error</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wait</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/lock.py#L139-L157"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.lock_arg" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">lock_arg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">namespace</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name_or_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_error</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wait</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L139-L157"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.lock_arg" title="Link to this definition">#</a></dt>
<dd><p>Apply the <cite>lock</cite> decorator using the value of the arg at the given name/position as the ID.</p>
<p>See <cite>lock</cite> docs for more information.</p>
<dl class="field-list simple">
@@ -580,7 +584,7 @@ and return None.</p></li>
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.logging.html b/main/output/pydis_core.utils.logging.html
index 8664748c..6e3ec050 100644
--- a/main/output/pydis_core.utils.logging.html
+++ b/main/output/pydis_core.utils.logging.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="members" href="pydis_core.utils.members.html" /><link rel="prev" title="lock" href="pydis_core.utils.lock.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>logging - Pydis Core Latest (11.0.0)</title>
+ <title>logging - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
@@ -386,12 +390,12 @@
<p>Common logging related functions.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.logging.CustomLogger">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CustomLogger</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">level</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/logging.py#L20-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.CustomLogger" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CustomLogger</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">level</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/logging.py#L20-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.CustomLogger" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/logging.html#logging.Logger" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Logger</span></code></a></p>
<p>Custom implementation of the <a class="reference external" href="https://docs.python.org/3/library/logging.html#logging.Logger" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">logging.Logger</span></code></a> class with an added <a class="reference internal" href="#pydis_core.utils.logging.CustomLogger.trace" title="pydis_core.utils.logging.CustomLogger.trace"><code class="xref py py-obj docutils literal notranslate"><span class="pre">trace</span></code></a> method.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.logging.CustomLogger.trace">
-<span class="sig-name descname"><span class="pre">trace</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">msg</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/logging.py#L23-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.CustomLogger.trace" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">trace</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">msg</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/logging.py#L23-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.CustomLogger.trace" title="Link to this definition">#</a></dt>
<dd><p>Log the given message with the severity <code class="docutils literal notranslate"><span class="pre">&quot;TRACE&quot;</span></code>.</p>
<p>To pass exception information, use the keyword argument exc_info with a true value:</p>
<div class="highlight-py notranslate"><div class="highlight"><pre><span></span><span class="n">logger</span><span class="o">.</span><span class="n">trace</span><span class="p">(</span><span class="s2">&quot;Houston, we have an </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="s2">&quot;interesting problem&quot;</span><span class="p">,</span> <span class="n">exc_info</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
@@ -415,7 +419,7 @@
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.logging.get_logger">
-<span class="sig-name descname"><span class="pre">get_logger</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/logging.py#L41-L52"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.get_logger" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">get_logger</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/logging.py#L41-L52"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.get_logger" title="Link to this definition">#</a></dt>
<dd><p>Utility to make mypy recognise that logger is of type <a class="reference internal" href="#pydis_core.utils.logging.CustomLogger" title="pydis_core.utils.logging.CustomLogger"><code class="xref py py-obj docutils literal notranslate"><span class="pre">CustomLogger</span></code></a>.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -432,7 +436,7 @@
<dl class="py data">
<dt class="sig sig-object py" id="pydis_core.utils.logging.log_format">
-<span class="sig-name descname"><span class="pre">log_format</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/logging.py#L12"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.log_format" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">log_format</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/logging.py#L12"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.log_format" title="Link to this definition">#</a></dt>
<dd><p>A <a class="reference external" href="https://docs.python.org/3/library/logging.html#logging.Formatter" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">logging.Formatter</span></code></a> that can be used to standardise logging across all projects using pydis_core.</p>
<dl class="field-list simple">
</dl>
@@ -513,7 +517,7 @@
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.members.html b/main/output/pydis_core.utils.members.html
index 54d07474..88dc64cf 100644
--- a/main/output/pydis_core.utils.members.html
+++ b/main/output/pydis_core.utils.members.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="messages" href="pydis_core.utils.messages.html" /><link rel="prev" title="logging" href="pydis_core.utils.logging.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>members - Pydis Core Latest (11.0.0)</title>
+ <title>members - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
@@ -386,7 +390,7 @@
<p>Useful helper functions for interactin with <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Member" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.Member</span></code></a> objects.</p>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.members.get_or_fetch_member">
-<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get_or_fetch_member</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">guild</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">member_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/members.py#L12-L31"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.members.get_or_fetch_member" title="Link to this definition">#</a></dt>
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get_or_fetch_member</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">guild</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">member_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/members.py#L12-L31"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.members.get_or_fetch_member" title="Link to this definition">#</a></dt>
<dd><p>Attempt to get a member from cache; on failure fetch from the API.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -400,7 +404,7 @@
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.members.handle_role_change">
-<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_role_change</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">member</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coro</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">role</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/members.py#L33-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.members.handle_role_change" title="Link to this definition">#</a></dt>
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_role_change</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">member</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coro</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">role</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/members.py#L33-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.members.handle_role_change" title="Link to this definition">#</a></dt>
<dd><p>Await the given <code class="docutils literal notranslate"><span class="pre">coro</span></code> with <code class="docutils literal notranslate"><span class="pre">role</span></code> as the sole argument.</p>
<p>Handle errors that we expect to be raised from
<a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Member.add_roles" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.Member.add_roles</span></code></a> and <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Member.remove_roles" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.Member.remove_roles</span></code></a>.</p>
@@ -489,7 +493,7 @@
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.messages.html b/main/output/pydis_core.utils.messages.html
index 853bad09..90e138a6 100644
--- a/main/output/pydis_core.utils.messages.html
+++ b/main/output/pydis_core.utils.messages.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="pagination" href="pydis_core.utils.pagination.html" /><link rel="prev" title="members" href="pydis_core.utils.members.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>messages - Pydis Core Latest (11.0.0)</title>
+ <title>messages - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.messages.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.messages.html">v11.0.0</a>
</li>
@@ -385,7 +389,7 @@
<span id="messages"></span><h1>messages<a class="headerlink" href="#module-pydis_core.utils.messages" title="Link to this heading">#</a></h1>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.messages.reaction_check">
-<span class="sig-name descname"><span class="pre">reaction_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">reaction</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">user</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_emoji</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/messages.py#L11-L48"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.messages.reaction_check" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">reaction_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">reaction</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">user</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_emoji</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/messages.py#L11-L48"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.messages.reaction_check" title="Link to this definition">#</a></dt>
<dd><p>Check if a reaction’s emoji and author are allowed and the message is <cite>message_id</cite>.</p>
<p>If the user is not allowed, remove the reaction. Ignore reactions made by the bot.
If <cite>allow_mods</cite> is True, allow users with moderator roles even if they’re not in <cite>allowed_users</cite>.</p>
@@ -466,7 +470,7 @@ If <cite>allow_mods</cite> is True, allow users with moderator roles even if the
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.pagination.html b/main/output/pydis_core.utils.pagination.html
index 600eff8d..651ac094 100644
--- a/main/output/pydis_core.utils.pagination.html
+++ b/main/output/pydis_core.utils.pagination.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="paste_service" href="pydis_core.utils.paste_service.html" /><link rel="prev" title="messages" href="pydis_core.utils.messages.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>pagination - Pydis Core Latest (11.0.0)</title>
+ <title>pagination - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.pagination.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.pagination.html">v11.0.0</a>
</li>
@@ -385,14 +389,14 @@
<span id="pagination"></span><h1>pagination<a class="headerlink" href="#module-pydis_core.utils.pagination" title="Link to this heading">#</a></h1>
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.pagination.EmptyPaginatorEmbedError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">EmptyPaginatorEmbedError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/pagination.py#L26-L28"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.EmptyPaginatorEmbedError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">EmptyPaginatorEmbedError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L26-L28"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.EmptyPaginatorEmbedError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
<p>Raised when attempting to paginate with empty contents.</p>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.pagination.LinePaginator">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LinePaginator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/pagination.py#L30-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LinePaginator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L30-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Paginator" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Paginator</span></code></a></p>
<p>A class that aids in paginating code blocks for Discord messages.</p>
<dl class="field-list simple">
@@ -409,14 +413,14 @@
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.pagination.LinePaginator.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/pagination.py#L43-L81"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L43-L81"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator.__init__" title="Link to this definition">#</a></dt>
<dd><p>This function overrides the Paginator.__init__ from inside discord.ext.commands.</p>
<p>It overrides in order to allow us to configure the maximum number of lines per page.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.pagination.LinePaginator.add_line">
-<span class="sig-name descname"><span class="pre">add_line</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">line</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/pagination.py#L82-L134"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator.add_line" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">add_line</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">line</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L82-L134"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator.add_line" title="Link to this definition">#</a></dt>
<dd><p>Adds a line to the current page.</p>
<p>If a line on a page exceeds <cite>max_size</cite> characters, then <cite>max_size</cite> will go up to
<cite>scale_to_size</cite> for a single line before creating a new page for the overflow words. If it
@@ -444,7 +448,7 @@ page at a reasonable size.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.pagination.LinePaginator.paginate">
-<em class="property"><span class="pre">async</span><span class="w"> </span><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">paginate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pagination_emojis</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lines</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">embed</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">500</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">restrict_to_user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">300</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">footer_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exception_on_empty_embed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reply</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/pagination.py#L189-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator.paginate" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">paginate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pagination_emojis</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lines</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">embed</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">500</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">restrict_to_user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">300</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">footer_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exception_on_empty_embed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reply</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L189-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator.paginate" title="Link to this definition">#</a></dt>
<dd><p>Use a paginator and set of reactions to provide pagination over a set of lines.</p>
<p>The reactions are used to switch page, or to finish with pagination.</p>
<p>When used, this will send a message using <cite>ctx.send()</cite> and apply a set of reactions to it. These reactions may
@@ -488,7 +492,7 @@ to any user with a moderation role.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.pagination.PaginationEmojis">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PaginationEmojis</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/pagination.py#L16-L24"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.PaginationEmojis" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PaginationEmojis</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L16-L24"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.PaginationEmojis" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.pydantic.dev/latest/api/base_model/#pydantic.BaseModel" title="(in Pydantic v0.0.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseModel</span></code></a></p>
<p>The emojis that will be used for pagination.</p>
<dl class="py attribute">
@@ -595,7 +599,7 @@ mapping of field names to [<cite>FieldInfo</cite>][pydantic.fields.FieldInfo].</
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.paste_service.html b/main/output/pydis_core.utils.paste_service.html
index 017404e3..19051905 100644
--- a/main/output/pydis_core.utils.paste_service.html
+++ b/main/output/pydis_core.utils.paste_service.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="regex" href="pydis_core.utils.regex.html" /><link rel="prev" title="pagination" href="pydis_core.utils.pagination.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>paste_service - Pydis Core Latest (11.0.0)</title>
+ <title>paste_service - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
@@ -385,13 +389,13 @@
<span id="paste-service"></span><h1>paste_service<a class="headerlink" href="#module-pydis_core.utils.paste_service" title="Link to this heading">#</a></h1>
<dl class="py data">
<dt class="sig sig-object py" id="pydis_core.utils.paste_service.MAX_PASTE_SIZE">
-<span class="sig-name descname"><span class="pre">MAX_PASTE_SIZE</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">524288</span></em><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/paste_service.py#L13"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.MAX_PASTE_SIZE" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">MAX_PASTE_SIZE</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">524288</span></em><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/paste_service.py#L13"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.MAX_PASTE_SIZE" title="Link to this definition">#</a></dt>
<dd><p>The maximum allows size of a paste, in bytes.</p>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteFile">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteFile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/paste_service.py#L33-L46"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteFile" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteFile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/paste_service.py#L33-L46"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteFile" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.pydantic.dev/latest/api/base_model/#pydantic.BaseModel" title="(in Pydantic v0.0.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseModel</span></code></a></p>
<p>A file to be pasted to the paste service.</p>
<dl class="field-list simple">
@@ -427,7 +431,7 @@ mapping of field names to [<cite>FieldInfo</cite>][pydantic.fields.FieldInfo].</
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteResponse">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteResponse</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/paste_service.py#L20-L31"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteResponse" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteResponse</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/paste_service.py#L20-L31"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteResponse" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.pydantic.dev/latest/api/base_model/#pydantic.BaseModel" title="(in Pydantic v0.0.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseModel</span></code></a></p>
<p>A successful response from the paste service.</p>
<dl class="field-list simple">
@@ -462,28 +466,28 @@ mapping of field names to [<cite>FieldInfo</cite>][pydantic.fields.FieldInfo].</
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteTooLongError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteTooLongError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/paste_service.py#L56-L58"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteTooLongError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteTooLongError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/paste_service.py#L56-L58"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteTooLongError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
<p>Raised when content is too large to upload to the paste service.</p>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteUnsupportedLexerError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteUnsupportedLexerError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/paste_service.py#L52-L54"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteUnsupportedLexerError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteUnsupportedLexerError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/paste_service.py#L52-L54"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteUnsupportedLexerError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
<p>Raised when an unsupported lexer is used.</p>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteUploadError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteUploadError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/paste_service.py#L48-L50"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteUploadError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteUploadError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/paste_service.py#L48-L50"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteUploadError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
<p>Raised when an error is encountered uploading to the paste service.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.paste_service.send_to_paste_service">
-<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">send_to_paste_service</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">files</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">http_session</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">paste_url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'https://paste.pythondiscord.com'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">524288</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/paste_service.py#L70-L155"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.send_to_paste_service" title="Link to this definition">#</a></dt>
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">send_to_paste_service</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">files</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">http_session</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">paste_url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'https://paste.pythondiscord.com'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">524288</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/paste_service.py#L70-L155"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.send_to_paste_service" title="Link to this definition">#</a></dt>
<dd><p>Upload some contents to the paste service.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -596,7 +600,7 @@ mapping of field names to [<cite>FieldInfo</cite>][pydantic.fields.FieldInfo].</
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.regex.html b/main/output/pydis_core.utils.regex.html
index 1e3b1e94..856ac2cd 100644
--- a/main/output/pydis_core.utils.regex.html
+++ b/main/output/pydis_core.utils.regex.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="scheduling" href="pydis_core.utils.scheduling.html" /><link rel="prev" title="paste_service" href="pydis_core.utils.paste_service.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>regex - Pydis Core Latest (11.0.0)</title>
+ <title>regex - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
@@ -386,7 +390,7 @@
<p>Common regular expressions.</p>
<dl class="py data">
<dt class="sig sig-object py" id="pydis_core.utils.regex.DISCORD_INVITE">
-<span class="sig-name descname"><span class="pre">DISCORD_INVITE</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/regex.py#L5-L17"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.regex.DISCORD_INVITE" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">DISCORD_INVITE</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/regex.py#L5-L17"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.regex.DISCORD_INVITE" title="Link to this definition">#</a></dt>
<dd><p>Regex for Discord server invites.</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
@@ -400,7 +404,7 @@ such as <a class="reference external" href="https://docs.python.org/3/library/ur
<dl class="py data">
<dt class="sig sig-object py" id="pydis_core.utils.regex.FORMATTED_CODE_REGEX">
-<span class="sig-name descname"><span class="pre">FORMATTED_CODE_REGEX</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/regex.py#L29-L37"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.regex.FORMATTED_CODE_REGEX" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">FORMATTED_CODE_REGEX</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/regex.py#L29-L37"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.regex.FORMATTED_CODE_REGEX" title="Link to this definition">#</a></dt>
<dd><p>Regex for formatted code, using Discord’s code blocks.</p>
<dl class="field-list simple">
</dl>
@@ -408,7 +412,7 @@ such as <a class="reference external" href="https://docs.python.org/3/library/ur
<dl class="py data">
<dt class="sig sig-object py" id="pydis_core.utils.regex.RAW_CODE_REGEX">
-<span class="sig-name descname"><span class="pre">RAW_CODE_REGEX</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/regex.py#L44-L49"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.regex.RAW_CODE_REGEX" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">RAW_CODE_REGEX</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/regex.py#L44-L49"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.regex.RAW_CODE_REGEX" title="Link to this definition">#</a></dt>
<dd><p>Regex for raw code, <em>not</em> using Discord’s code blocks.</p>
<dl class="field-list simple">
</dl>
@@ -486,7 +490,7 @@ such as <a class="reference external" href="https://docs.python.org/3/library/ur
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/output/pydis_core.utils.scheduling.html b/main/output/pydis_core.utils.scheduling.html
index df48e319..726bf800 100644
--- a/main/output/pydis_core.utils.scheduling.html
+++ b/main/output/pydis_core.utils.scheduling.html
@@ -6,7 +6,7 @@
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="async_stats" href="pydis_core.async_stats.html" /><link rel="prev" title="regex" href="pydis_core.utils.regex.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>scheduling - Pydis Core Latest (11.0.0)</title>
+ <title>scheduling - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
@@ -127,7 +127,7 @@
</label>
</div>
<div class="header-center">
- <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="../index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -153,7 +153,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -287,6 +287,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
@@ -386,7 +390,7 @@
<p>Generic python scheduler.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Scheduler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/scheduling.py#L19-L216"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Scheduler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L19-L216"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>Schedule the execution of coroutines and keep track of them.</p>
<p>When instantiating a <a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler" title="pydis_core.utils.scheduling.Scheduler"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Scheduler</span></code></a>, a name must be provided. This name is used to distinguish the
@@ -400,7 +404,7 @@ the same ID used to schedule it.</p>
<p>Any exception raised in a scheduled task is logged when the task is done.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.__contains__">
-<span class="sig-name descname"><span class="pre">__contains__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/scheduling.py#L49-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.__contains__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__contains__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L49-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.__contains__" title="Link to this definition">#</a></dt>
<dd><p>Return <a class="reference external" href="https://docs.python.org/3/library/constants.html#True" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">True</span></code></a> if a task with the given <code class="docutils literal notranslate"><span class="pre">task_id</span></code> is currently scheduled.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -417,7 +421,7 @@ the same ID used to schedule it.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/scheduling.py#L37-L48"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L37-L48"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.__init__" title="Link to this definition">#</a></dt>
<dd><p>Initialize a new <a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler" title="pydis_core.utils.scheduling.Scheduler"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Scheduler</span></code></a> instance.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -428,7 +432,7 @@ the same ID used to schedule it.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.cancel">
-<span class="sig-name descname"><span class="pre">cancel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/scheduling.py#L132-L149"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.cancel" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">cancel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L132-L149"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.cancel" title="Link to this definition">#</a></dt>
<dd><p>Unschedule the task identified by <code class="docutils literal notranslate"><span class="pre">task_id</span></code>. Log a warning if the task doesn’t exist.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -442,7 +446,7 @@ the same ID used to schedule it.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.cancel_all">
-<span class="sig-name descname"><span class="pre">cancel_all</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/scheduling.py#L150-L156"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.cancel_all" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">cancel_all</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L150-L156"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.cancel_all" title="Link to this definition">#</a></dt>
<dd><p>Unschedule all known tasks.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -453,7 +457,7 @@ the same ID used to schedule it.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.schedule">
-<span class="sig-name descname"><span class="pre">schedule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coroutine</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/scheduling.py#L61-L88"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.schedule" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">schedule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coroutine</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L61-L88"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.schedule" title="Link to this definition">#</a></dt>
<dd><p>Schedule the execution of a <code class="docutils literal notranslate"><span class="pre">coroutine</span></code>.</p>
<p>If a task with <code class="docutils literal notranslate"><span class="pre">task_id</span></code> already exists, close <code class="docutils literal notranslate"><span class="pre">coroutine</span></code> instead of scheduling it. This
prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-used elsewhere.</p>
@@ -472,7 +476,7 @@ prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.schedule_at">
-<span class="sig-name descname"><span class="pre">schedule_at</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">time</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coroutine</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/scheduling.py#L89-L112"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.schedule_at" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">schedule_at</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">time</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coroutine</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L89-L112"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.schedule_at" title="Link to this definition">#</a></dt>
<dd><p>Schedule <code class="docutils literal notranslate"><span class="pre">coroutine</span></code> to be executed at the given <code class="docutils literal notranslate"><span class="pre">time</span></code>.</p>
<p>If <code class="docutils literal notranslate"><span class="pre">time</span></code> is timezone aware, then use that timezone to calculate now() when subtracting.
If <code class="docutils literal notranslate"><span class="pre">time</span></code> is naïve, then use UTC.</p>
@@ -495,7 +499,7 @@ prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.schedule_later">
-<span class="sig-name descname"><span class="pre">schedule_later</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">delay</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coroutine</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/scheduling.py#L113-L131"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.schedule_later" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">schedule_later</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">delay</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coroutine</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L113-L131"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.schedule_later" title="Link to this definition">#</a></dt>
<dd><p>Schedule <code class="docutils literal notranslate"><span class="pre">coroutine</span></code> to be executed after <code class="docutils literal notranslate"><span class="pre">delay</span></code> seconds.</p>
<p>If a task with <code class="docutils literal notranslate"><span class="pre">task_id</span></code> already exists, close <code class="docutils literal notranslate"><span class="pre">coroutine</span></code> instead of scheduling it. This
prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-used elsewhere.</p>
@@ -517,7 +521,7 @@ prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.create_task">
-<span class="sig-name descname"><span class="pre">create_task</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">coro</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suppressed_exceptions</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">event_loop</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/1c35bf5f8d9a02dfbfba3a1093c1b92253ec2f91/pydis_core/utils/scheduling.py#L221-L252"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.create_task" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">create_task</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">coro</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suppressed_exceptions</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">event_loop</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L221-L252"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.create_task" title="Link to this definition">#</a></dt>
<dd><p>Wrapper for creating an <a class="reference external" href="https://docs.python.org/3/library/asyncio-task.html#asyncio.Task" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">asyncio.Task</span></code></a> which logs exceptions raised in the task.</p>
<p>If the <code class="docutils literal notranslate"><span class="pre">event_loop</span></code> kwarg is provided, the task is created from that event loop,
otherwise the running loop is used.</p>
@@ -619,7 +623,7 @@ otherwise the running loop is used.</p>
</aside>
</div>
-</div><script src="../_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/py-modindex.html b/main/py-modindex.html
index 248ab3a1..384f1e52 100644
--- a/main/py-modindex.html
+++ b/main/py-modindex.html
@@ -4,7 +4,7 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" />
- <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 --><title>Python Module Index - Pydis Core Latest (11.0.0)</title>
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 --><title>Python Module Index - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
@@ -125,7 +125,7 @@
</label>
</div>
<div class="header-center">
- <a href="index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -151,7 +151,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -285,6 +285,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -568,7 +572,7 @@
</aside>
</div>
-</div><script src="_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="_static/documentation_options.js?v=6a5133bb"></script>
<script src="_static/doctools.js?v=888ff710"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/search.html b/main/search.html
index 0e229b55..64ab3d54 100644
--- a/main/search.html
+++ b/main/search.html
@@ -4,7 +4,7 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="#" />
- <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 --><title>Search - Pydis Core Latest (11.0.0)</title><link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 --><title>Search - Pydis Core Latest (11.0.1)</title><link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
@@ -124,7 +124,7 @@
</label>
</div>
<div class="header-center">
- <a href="index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -150,7 +150,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="#" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -284,6 +284,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -420,7 +424,7 @@
</aside>
</div>
-</div><script src="_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="_static/documentation_options.js?v=6a5133bb"></script>
<script src="_static/doctools.js?v=888ff710"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/main/searchindex.js b/main/searchindex.js
index 1bdfd9b1..bef3c34d 100644
--- a/main/searchindex.js
+++ b/main/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.checks", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.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 &amp; 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, "0": [0, 8, 10, 18, 19, 20], "18th": 0, "march": 0, "2024": 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, "drop": 0, "support": [0, 4, 7, 26], "pydant": [0, 3, 23, 24], "1": [0, 20], "x": 0, "python": [0, 1, 3, 24, 26], "3": 0, "10": 0, "split": 0, "fakeredi": 0, "option": [0, 8, 17, 19], "depend": [0, 9], "from": [0, 1, 3, 4, 6, 7, 9, 17, 18, 21, 23, 24, 26], "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], "now": [0, 1, 26], "instal": [0, 1], "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, "12": 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], "command": [0, 1, 3, 7, 9, 10, 12, 13, 15, 16, 17, 19, 23], "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], "error": [0, 3, 6, 7, 13, 14, 15, 16, 21, 24], "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, "lupa": 0, "requir": [0, 1, 3, 23, 24, 26], "script": 0, "within": [0, 3], "As": 0, "7": 0, "30th": 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], "discord": [0, 1, 3, 5, 7, 9, 10, 11, 13, 14, 16, 17, 21, 23, 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, "bug": 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], "ext": [0, 2, 3, 7, 9, 10, 11, 23], "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], "handl": [0, 13, 14, 15, 16, 21, 26], "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], "befor": [0, 3, 10, 18, 19, 23, 26], "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], "20th": 0, "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], "restrict": [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, "origin": 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, "could": 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": {"manager": [[16, "module-pydis_core.utils.error_handling.commands.manager"]], "commands package": [[14, "module-pydis_core.utils.error_handling.commands"]], "Submodules": [[14, "submodules"], [7, "submodules"], [3, "submodules"]], "abc": [[15, "module-pydis_core.utils.error_handling.commands.abc"]], "cooldown": [[12, "module-pydis_core.utils.cooldown"]], "function": [[17, "module-pydis_core.utils.function"]], "error_handling package": [[13, "module-pydis_core.utils.error_handling"]], "Subpackages": [[13, "subpackages"], [7, "subpackages"], [3, "subpackages"]], "channel": [[9, "module-pydis_core.utils.channel"]], "commands": [[11, "module-pydis_core.utils.commands"]], "Utils": [[7, "module-pydis_core.utils"]], "caching": [[8, "module-pydis_core.utils.caching"]], "checks": [[10, "module-pydis_core.utils.checks"]], "site_api": [[6, "module-pydis_core.site_api"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Exts": [[5, "module-pydis_core.exts"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "Pydis Core": [[3, "module-pydis_core"]], "lock": [[19, "module-pydis_core.utils.lock"]], "interactions": [[18, "module-pydis_core.utils.interactions"]], "messages": [[22, "module-pydis_core.utils.messages"]], "logging": [[20, "module-pydis_core.utils.logging"]], "pagination": [[23, "module-pydis_core.utils.pagination"]], "members": [[21, "module-pydis_core.utils.members"]], "scheduling": [[26, "module-pydis_core.utils.scheduling"]], "paste_service": [[24, "module-pydis_core.utils.paste_service"]], "regex": [[25, "module-pydis_core.utils.regex"]]}, "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({"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 &amp; 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, "0": [0, 8, 10, 18, 19, 20], "1": [0, 20], "20th": 0, "march": 0, "2024": 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, "drop": 0, "support": [0, 4, 7, 26], "pydant": [0, 3, 23, 24], "x": 0, "python": [0, 1, 3, 24, 26], "3": 0, "10": 0, "split": 0, "fakeredi": 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], "now": [0, 1, 26], "instal": [0, 1], "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, "12": 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, "lupa": 0, "requir": [0, 1, 3, 23, 24, 26], "script": 0, "within": [0, 3], "As": 0, "7": 0, "30th": 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], "restrict": [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, "could": 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": {"function": [[17, "module-pydis_core.utils.function"]], "error_handling package": [[13, "module-pydis_core.utils.error_handling"]], "Subpackages": [[13, "subpackages"], [7, "subpackages"], [3, "subpackages"]], "abc": [[15, "module-pydis_core.utils.error_handling.commands.abc"]], "manager": [[16, "module-pydis_core.utils.error_handling.commands.manager"]], "commands package": [[14, "module-pydis_core.utils.error_handling.commands"]], "Submodules": [[14, "submodules"], [7, "submodules"], [3, "submodules"]], "cooldown": [[12, "module-pydis_core.utils.cooldown"]], "Utils": [[7, "module-pydis_core.utils"]], "site_api": [[6, "module-pydis_core.site_api"]], "checks": [[10, "module-pydis_core.utils.checks"]], "commands": [[11, "module-pydis_core.utils.commands"]], "caching": [[8, "module-pydis_core.utils.caching"]], "channel": [[9, "module-pydis_core.utils.channel"]], "Exts": [[5, "module-pydis_core.exts"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Changelog": [[0, "changelog"]], "Pydis Core": [[3, "module-pydis_core"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "logging": [[20, "module-pydis_core.utils.logging"]], "pagination": [[23, "module-pydis_core.utils.pagination"]], "lock": [[19, "module-pydis_core.utils.lock"]], "messages": [[22, "module-pydis_core.utils.messages"]], "members": [[21, "module-pydis_core.utils.members"]], "interactions": [[18, "module-pydis_core.utils.interactions"]], "regex": [[25, "module-pydis_core.utils.regex"]], "paste_service": [[24, "module-pydis_core.utils.paste_service"]], "scheduling": [[26, "module-pydis_core.utils.scheduling"]]}, "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
diff --git a/main/versions.html b/main/versions.html
index 7d5d3b7a..d3401aa0 100644
--- a/main/versions.html
+++ b/main/versions.html
@@ -5,7 +5,7 @@
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
- <title>Versions - Pydis Core Latest (11.0.0)</title>
+ <title>Versions - Pydis Core Latest (11.0.1)</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
@@ -126,7 +126,7 @@
</label>
</div>
<div class="header-center">
- <a href="index.html"><div class="brand">Pydis Core Latest (11.0.0)</div></a>
+ <a href="index.html"><div class="brand">Pydis Core Latest (11.0.1)</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@@ -152,7 +152,7 @@
<img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
</div>
- <span class="sidebar-brand-text">Pydis Core Latest (11.0.0)</span>
+ <span class="sidebar-brand-text">Pydis Core Latest (11.0.1)</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
@@ -286,6 +286,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -489,6 +493,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
@@ -582,7 +592,7 @@
</aside>
</div>
-</div><script src="_static/documentation_options.js?v=ce29b7a2"></script>
+</div><script src="_static/documentation_options.js?v=6a5133bb"></script>
<script src="_static/doctools.js?v=888ff710"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/scripts/furo.js?v=32e29ea5"></script>
diff --git a/v10.0.0/.buildinfo b/v10.0.0/.buildinfo
index 376b3d3a..0efa437f 100644
--- a/v10.0.0/.buildinfo
+++ b/v10.0.0/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: d0a5fe8d85f84a07ca21678407ea37ff
+config: a776824d892dff94f3fbd048f700a32b
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v10.0.0/changelog.html b/v10.0.0/changelog.html
index c8e37d26..df2b7ce3 100644
--- a/v10.0.0/changelog.html
+++ b/v10.0.0/changelog.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/development.html b/v10.0.0/development.html
index 11d851d0..2520fe24 100644
--- a/v10.0.0/development.html
+++ b/v10.0.0/development.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/genindex.html b/v10.0.0/genindex.html
index f1b69853..1b065110 100644
--- a/v10.0.0/genindex.html
+++ b/v10.0.0/genindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/index.html b/v10.0.0/index.html
index 9a371d22..e90e17a0 100644
--- a/v10.0.0/index.html
+++ b/v10.0.0/index.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/output/pydis_core.async_stats.html b/v10.0.0/output/pydis_core.async_stats.html
index 8c0d4cf4..fe582b3d 100644
--- a/v10.0.0/output/pydis_core.async_stats.html
+++ b/v10.0.0/output/pydis_core.async_stats.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/output/pydis_core.exts.html b/v10.0.0/output/pydis_core.exts.html
index 2c2e0f8a..db04cee5 100644
--- a/v10.0.0/output/pydis_core.exts.html
+++ b/v10.0.0/output/pydis_core.exts.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/output/pydis_core.html b/v10.0.0/output/pydis_core.html
index 59bf3031..98fb8ac1 100644
--- a/v10.0.0/output/pydis_core.html
+++ b/v10.0.0/output/pydis_core.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/output/pydis_core.site_api.html b/v10.0.0/output/pydis_core.site_api.html
index a030f707..a999ea35 100644
--- a/v10.0.0/output/pydis_core.site_api.html
+++ b/v10.0.0/output/pydis_core.site_api.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/output/pydis_core.utils.caching.html b/v10.0.0/output/pydis_core.utils.caching.html
index a371523e..db335c40 100644
--- a/v10.0.0/output/pydis_core.utils.caching.html
+++ b/v10.0.0/output/pydis_core.utils.caching.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/output/pydis_core.utils.channel.html b/v10.0.0/output/pydis_core.utils.channel.html
index 3112b7de..92910add 100644
--- a/v10.0.0/output/pydis_core.utils.channel.html
+++ b/v10.0.0/output/pydis_core.utils.channel.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/output/pydis_core.utils.commands.html b/v10.0.0/output/pydis_core.utils.commands.html
index 66e1fab8..996317aa 100644
--- a/v10.0.0/output/pydis_core.utils.commands.html
+++ b/v10.0.0/output/pydis_core.utils.commands.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/output/pydis_core.utils.cooldown.html b/v10.0.0/output/pydis_core.utils.cooldown.html
index 1503c74f..ac83a4aa 100644
--- a/v10.0.0/output/pydis_core.utils.cooldown.html
+++ b/v10.0.0/output/pydis_core.utils.cooldown.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/output/pydis_core.utils.error_handling.html b/v10.0.0/output/pydis_core.utils.error_handling.html
index 7798f746..46acb283 100644
--- a/v10.0.0/output/pydis_core.utils.error_handling.html
+++ b/v10.0.0/output/pydis_core.utils.error_handling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/output/pydis_core.utils.function.html b/v10.0.0/output/pydis_core.utils.function.html
index 683e1c72..2eacaeb2 100644
--- a/v10.0.0/output/pydis_core.utils.function.html
+++ b/v10.0.0/output/pydis_core.utils.function.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/output/pydis_core.utils.html b/v10.0.0/output/pydis_core.utils.html
index 4658e924..a04115ab 100644
--- a/v10.0.0/output/pydis_core.utils.html
+++ b/v10.0.0/output/pydis_core.utils.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/output/pydis_core.utils.interactions.html b/v10.0.0/output/pydis_core.utils.interactions.html
index 5d80713e..25538183 100644
--- a/v10.0.0/output/pydis_core.utils.interactions.html
+++ b/v10.0.0/output/pydis_core.utils.interactions.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/output/pydis_core.utils.logging.html b/v10.0.0/output/pydis_core.utils.logging.html
index 9492fb87..2852a05d 100644
--- a/v10.0.0/output/pydis_core.utils.logging.html
+++ b/v10.0.0/output/pydis_core.utils.logging.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/output/pydis_core.utils.members.html b/v10.0.0/output/pydis_core.utils.members.html
index 0048465e..b7d13844 100644
--- a/v10.0.0/output/pydis_core.utils.members.html
+++ b/v10.0.0/output/pydis_core.utils.members.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/output/pydis_core.utils.paste_service.html b/v10.0.0/output/pydis_core.utils.paste_service.html
index 182b6618..bbd33870 100644
--- a/v10.0.0/output/pydis_core.utils.paste_service.html
+++ b/v10.0.0/output/pydis_core.utils.paste_service.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/output/pydis_core.utils.regex.html b/v10.0.0/output/pydis_core.utils.regex.html
index e9bfaa0d..d326b792 100644
--- a/v10.0.0/output/pydis_core.utils.regex.html
+++ b/v10.0.0/output/pydis_core.utils.regex.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/output/pydis_core.utils.scheduling.html b/v10.0.0/output/pydis_core.utils.scheduling.html
index 4c710028..1a6a3589 100644
--- a/v10.0.0/output/pydis_core.utils.scheduling.html
+++ b/v10.0.0/output/pydis_core.utils.scheduling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/py-modindex.html b/v10.0.0/py-modindex.html
index b7832713..9fa028a3 100644
--- a/v10.0.0/py-modindex.html
+++ b/v10.0.0/py-modindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/search.html b/v10.0.0/search.html
index 247d8926..1f3f94ee 100644
--- a/v10.0.0/search.html
+++ b/v10.0.0/search.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.0.0/searchindex.js b/v10.0.0/searchindex.js
index 6c5eeb65..cb4b7d89 100644
--- a/v10.0.0/searchindex.js
+++ b/v10.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "0": [0, 8, 14, 15], "14th": 0, "juli": 0, "2023": 0, "break": [0, 13], "188": 0, "support": [0, 4, 7, 19], "send": [0, 6, 14], "multipl": 0, "file": [0, 1, 17], "onc": [0, 8], "past": [0, 17, 19], "servic": [0, 1, 3, 17], "all": [0, 1, 3, 4, 7, 19], "call": [0, 3, 11, 13, 19], "pydis_cor": [0, 1, 3, 14], "util": [0, 1, 2, 3, 8, 13, 14, 15], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 17], "must": [0, 19], "now": [0, 1, 19], "provid": [0, 1, 8, 10, 12, 19], "list": [0, 1, 3, 17], "pastefil": [0, 3, 7, 17], "featur": [0, 1, 3], "184": 0, "remov": [0, 3, 14, 17], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "store": [0, 7, 8], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 14], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "stop": [0, 7, 14], "addit": 0, "exist": [0, 1, 19], "logic": 0, "timeout": [0, 14], "bug": 0, "187": 0, "fix": 0, "channel": [0, 3, 7, 11], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "includ": [0, 1, 12], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "bump": 0, "py": [0, 13], "2": [0, 3, 14], "3": 0, "1": [0, 15], "9": 0, "2nd": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "add": [0, 3, 11], "lexer": [0, 17], "valid": 0, "default": [0, 1, 17], "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "schedul": [0, 3, 7], "179": 0, "upload": [0, 17], "text": [0, 6, 10, 17], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "5": [0, 11], "march": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 17, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "need": [0, 1], "run": [0, 1, 11, 19], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "button": [0, 14], "press": 0, "88": 0, "decor": [0, 8, 11, 13], "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": [0, 17], "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14, 17], "actual": 0, "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": [1, 17], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 17, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 17, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": [6, 17], "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11, 17], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "model_computed_field": [7, 17], "model_config": [7, 17], "model_field": [7, 17], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": [11, 17], "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": [11, 17], "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": [13, 17], "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": [13, 17], "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "listen": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "data": 17, "basemodel": 17, "format": [17, 18], "classvar": 17, "computedfieldinfo": 17, "dictionari": 17, "comput": 17, "field": 17, "correspond": 17, "configdict": 17, "model": 17, "conform": 17, "pydant": 17, "config": 17, "fieldinfo": 17, "metadata": 17, "defin": 17, "map": 17, "__fields__": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "execut": 19, "keep": 19, "track": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"], [14, 2, 1, "", "stop"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteFile"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data", "6": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"], "6": ["py", "attribute", "Python attribute"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 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": {"channel": [[9, "module-pydis_core.utils.channel"]], "Exts": [[5, "module-pydis_core.exts"]], "site_api": [[6, "module-pydis_core.site_api"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "logging": [[15, "module-pydis_core.utils.logging"]], "members": [[16, "module-pydis_core.utils.members"]], "regex": [[18, "module-pydis_core.utils.regex"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "function": [[13, "module-pydis_core.utils.function"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "commands": [[10, "module-pydis_core.utils.commands"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "0": [0, 8, 14, 15], "14th": 0, "juli": 0, "2023": 0, "break": [0, 13], "188": 0, "support": [0, 4, 7, 19], "send": [0, 6, 14], "multipl": 0, "file": [0, 1, 17], "onc": [0, 8], "past": [0, 17, 19], "servic": [0, 1, 3, 17], "all": [0, 1, 3, 4, 7, 19], "call": [0, 3, 11, 13, 19], "pydis_cor": [0, 1, 3, 14], "util": [0, 1, 2, 3, 8, 13, 14, 15], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 17], "must": [0, 19], "now": [0, 1, 19], "provid": [0, 1, 8, 10, 12, 19], "list": [0, 1, 3, 17], "pastefil": [0, 3, 7, 17], "featur": [0, 1, 3], "184": 0, "remov": [0, 3, 14, 17], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "store": [0, 7, 8], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 14], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "stop": [0, 7, 14], "addit": 0, "exist": [0, 1, 19], "logic": 0, "timeout": [0, 14], "bug": 0, "187": 0, "fix": 0, "channel": [0, 3, 7, 11], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "includ": [0, 1, 12], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "bump": 0, "py": [0, 13], "2": [0, 3, 14], "3": 0, "1": [0, 15], "9": 0, "2nd": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "add": [0, 3, 11], "lexer": [0, 17], "valid": 0, "default": [0, 1, 17], "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "schedul": [0, 3, 7], "179": 0, "upload": [0, 17], "text": [0, 6, 10, 17], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "5": [0, 11], "march": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 17, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "need": [0, 1], "run": [0, 1, 11, 19], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "button": [0, 14], "press": 0, "88": 0, "decor": [0, 8, 11, 13], "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": [0, 17], "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14, 17], "actual": 0, "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": [1, 17], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 17, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 17, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": [6, 17], "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11, 17], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "model_computed_field": [7, 17], "model_config": [7, 17], "model_field": [7, 17], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": [11, 17], "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": [11, 17], "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": [13, 17], "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": [13, 17], "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "listen": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "data": 17, "basemodel": 17, "format": [17, 18], "classvar": 17, "computedfieldinfo": 17, "dictionari": 17, "comput": 17, "field": 17, "correspond": 17, "configdict": 17, "model": 17, "conform": 17, "pydant": 17, "config": 17, "fieldinfo": 17, "metadata": 17, "defin": 17, "map": 17, "__fields__": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "execut": 19, "keep": 19, "track": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"], [14, 2, 1, "", "stop"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteFile"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data", "6": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"], "6": ["py", "attribute", "Python attribute"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"site_api": [[6, "module-pydis_core.site_api"]], "Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "caching": [[8, "module-pydis_core.utils.caching"]], "channel": [[9, "module-pydis_core.utils.channel"]], "members": [[16, "module-pydis_core.utils.members"]], "regex": [[18, "module-pydis_core.utils.regex"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "logging": [[15, "module-pydis_core.utils.logging"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "commands": [[10, "module-pydis_core.utils.commands"]], "function": [[13, "module-pydis_core.utils.function"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "interactions": [[14, "module-pydis_core.utils.interactions"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v10.0.0/versions.html b/v10.0.0/versions.html
index 37dce5f8..d408bb75 100644
--- a/v10.0.0/versions.html
+++ b/v10.0.0/versions.html
@@ -275,6 +275,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -478,6 +482,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v10.1.0/.buildinfo b/v10.1.0/.buildinfo
index 90b213c6..51bd901f 100644
--- a/v10.1.0/.buildinfo
+++ b/v10.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: 601273f25f18357c328b3b52c49a08e5
+config: 275feb927e30cc325d80bfdf12408621
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v10.1.0/changelog.html b/v10.1.0/changelog.html
index ab9654f5..cfa27002 100644
--- a/v10.1.0/changelog.html
+++ b/v10.1.0/changelog.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/development.html b/v10.1.0/development.html
index 7b6f39e2..1c4745b4 100644
--- a/v10.1.0/development.html
+++ b/v10.1.0/development.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/genindex.html b/v10.1.0/genindex.html
index 2b55c6fa..448d7ec7 100644
--- a/v10.1.0/genindex.html
+++ b/v10.1.0/genindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/index.html b/v10.1.0/index.html
index 6fd6fb03..c7a52554 100644
--- a/v10.1.0/index.html
+++ b/v10.1.0/index.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/output/pydis_core.async_stats.html b/v10.1.0/output/pydis_core.async_stats.html
index 5a8ffa17..8355b581 100644
--- a/v10.1.0/output/pydis_core.async_stats.html
+++ b/v10.1.0/output/pydis_core.async_stats.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/output/pydis_core.exts.html b/v10.1.0/output/pydis_core.exts.html
index df35d55e..beb576bb 100644
--- a/v10.1.0/output/pydis_core.exts.html
+++ b/v10.1.0/output/pydis_core.exts.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/output/pydis_core.html b/v10.1.0/output/pydis_core.html
index 3e4da1b2..6c233f79 100644
--- a/v10.1.0/output/pydis_core.html
+++ b/v10.1.0/output/pydis_core.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/output/pydis_core.site_api.html b/v10.1.0/output/pydis_core.site_api.html
index 54f32de1..6c1b875f 100644
--- a/v10.1.0/output/pydis_core.site_api.html
+++ b/v10.1.0/output/pydis_core.site_api.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/output/pydis_core.utils.caching.html b/v10.1.0/output/pydis_core.utils.caching.html
index 2c6b73a2..31d0a0cb 100644
--- a/v10.1.0/output/pydis_core.utils.caching.html
+++ b/v10.1.0/output/pydis_core.utils.caching.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/output/pydis_core.utils.channel.html b/v10.1.0/output/pydis_core.utils.channel.html
index 2f28c981..680943f4 100644
--- a/v10.1.0/output/pydis_core.utils.channel.html
+++ b/v10.1.0/output/pydis_core.utils.channel.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/output/pydis_core.utils.commands.html b/v10.1.0/output/pydis_core.utils.commands.html
index 7b71ccb6..35c6e142 100644
--- a/v10.1.0/output/pydis_core.utils.commands.html
+++ b/v10.1.0/output/pydis_core.utils.commands.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/output/pydis_core.utils.cooldown.html b/v10.1.0/output/pydis_core.utils.cooldown.html
index 6f01fdbb..92256696 100644
--- a/v10.1.0/output/pydis_core.utils.cooldown.html
+++ b/v10.1.0/output/pydis_core.utils.cooldown.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/output/pydis_core.utils.error_handling.html b/v10.1.0/output/pydis_core.utils.error_handling.html
index 6d4936a7..ab64d2af 100644
--- a/v10.1.0/output/pydis_core.utils.error_handling.html
+++ b/v10.1.0/output/pydis_core.utils.error_handling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/output/pydis_core.utils.function.html b/v10.1.0/output/pydis_core.utils.function.html
index c7a1590a..b74e57ed 100644
--- a/v10.1.0/output/pydis_core.utils.function.html
+++ b/v10.1.0/output/pydis_core.utils.function.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/output/pydis_core.utils.html b/v10.1.0/output/pydis_core.utils.html
index 59470421..c6c148bf 100644
--- a/v10.1.0/output/pydis_core.utils.html
+++ b/v10.1.0/output/pydis_core.utils.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/output/pydis_core.utils.interactions.html b/v10.1.0/output/pydis_core.utils.interactions.html
index 40584c44..c1954bab 100644
--- a/v10.1.0/output/pydis_core.utils.interactions.html
+++ b/v10.1.0/output/pydis_core.utils.interactions.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/output/pydis_core.utils.logging.html b/v10.1.0/output/pydis_core.utils.logging.html
index d10f1c85..2457466f 100644
--- a/v10.1.0/output/pydis_core.utils.logging.html
+++ b/v10.1.0/output/pydis_core.utils.logging.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/output/pydis_core.utils.members.html b/v10.1.0/output/pydis_core.utils.members.html
index f852e218..d69721d3 100644
--- a/v10.1.0/output/pydis_core.utils.members.html
+++ b/v10.1.0/output/pydis_core.utils.members.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/output/pydis_core.utils.paste_service.html b/v10.1.0/output/pydis_core.utils.paste_service.html
index 777bb0df..be5e359c 100644
--- a/v10.1.0/output/pydis_core.utils.paste_service.html
+++ b/v10.1.0/output/pydis_core.utils.paste_service.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/output/pydis_core.utils.regex.html b/v10.1.0/output/pydis_core.utils.regex.html
index d661e337..fb2cb8d8 100644
--- a/v10.1.0/output/pydis_core.utils.regex.html
+++ b/v10.1.0/output/pydis_core.utils.regex.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/output/pydis_core.utils.scheduling.html b/v10.1.0/output/pydis_core.utils.scheduling.html
index e860d9f3..cda73352 100644
--- a/v10.1.0/output/pydis_core.utils.scheduling.html
+++ b/v10.1.0/output/pydis_core.utils.scheduling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/py-modindex.html b/v10.1.0/py-modindex.html
index 6133475c..911bf29c 100644
--- a/v10.1.0/py-modindex.html
+++ b/v10.1.0/py-modindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/search.html b/v10.1.0/search.html
index 8193d3c7..250b5942 100644
--- a/v10.1.0/search.html
+++ b/v10.1.0/search.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.1.0/searchindex.js b/v10.1.0/searchindex.js
index 9d1fa143..fa76bc61 100644
--- a/v10.1.0/searchindex.js
+++ b/v10.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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "1": [0, 15], "0": [0, 8, 14, 15], "25th": 0, "juli": 0, "2023": 0, "featur": [0, 1, 3], "190": 0, "overwrit": [0, 3], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "ext": [0, 2, 3, 7, 9, 10], "command": [0, 1, 3, 7, 9, 11, 13], "bot": [0, 1, 3, 7, 9], "process_command": [0, 2, 3], "ensur": [0, 3, 14, 18], "ar": [0, 1, 3, 8, 13, 14, 18], "process": [0, 3], "until": [0, 3, 18], "all": [0, 1, 3, 4, 7, 19], "extens": [0, 3], "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 17, 18, 19], "onli": [0, 3], "work": [0, 1], "client": [0, 3, 4], "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "14th": 0, "break": [0, 13], "188": 0, "support": [0, 4, 7, 19], "send": [0, 6, 14], "multipl": 0, "file": [0, 1, 17], "onc": [0, 8], "past": [0, 17, 19], "servic": [0, 1, 3, 17], "call": [0, 3, 11, 13, 19], "util": [0, 1, 2, 3, 8, 13, 14, 15], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 17], "must": [0, 19], "now": [0, 1, 19], "provid": [0, 1, 8, 10, 12, 19], "list": [0, 1, 3, 17], "pastefil": [0, 3, 7, 17], "184": 0, "remov": [0, 3, 14, 17], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "store": [0, 7, 8], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 14], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "stop": [0, 7, 14], "addit": 0, "exist": [0, 1, 19], "logic": 0, "timeout": [0, 14], "bug": 0, "187": 0, "fix": 0, "channel": [0, 3, 7, 11], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "includ": [0, 1, 12], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "bump": 0, "py": [0, 3, 13], "2": [0, 3, 14], "3": 0, "9": 0, "2nd": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "add": [0, 3, 11], "lexer": [0, 17], "valid": 0, "default": [0, 1, 3, 17], "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "schedul": [0, 3, 7], "179": 0, "upload": [0, 17], "text": [0, 6, 10, 17], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "cog": [0, 3, 5], "5": [0, 11], "march": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 14, 19], "have": [0, 9, 13, 15], "been": 0, "releas": 0, "also": [0, 7, 13, 14], "need": [0, 1], "run": [0, 1, 11, 19], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "button": [0, 14], "press": 0, "88": 0, "decor": [0, 8, 11, 13], "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": [0, 17], "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "core": [0, 1], "108": 0, "version": [0, 10], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "deletemessagebutton": [0, 3, 7, 14], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14, 17], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": [1, 17], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 17, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 13], "check": [3, 6, 9, 11, 12, 14, 19], "relev": 3, "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 17, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": [6, 17], "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11, 17], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "model_computed_field": [7, 17], "model_config": [7, 17], "model_field": [7, 17], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": [11, 17], "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": [11, 17], "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": [13, 17], "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": [13, 17], "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "listen": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "data": 17, "basemodel": 17, "format": [17, 18], "classvar": 17, "computedfieldinfo": 17, "dictionari": 17, "comput": 17, "field": 17, "correspond": 17, "configdict": 17, "model": 17, "conform": 17, "pydant": 17, "config": 17, "fieldinfo": 17, "metadata": 17, "defin": 17, "map": 17, "__fields__": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "execut": 19, "keep": 19, "track": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"], [14, 2, 1, "", "stop"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteFile"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data", "6": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"], "6": ["py", "attribute", "Python attribute"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"caching": [[8, "module-pydis_core.utils.caching"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Exts": [[5, "module-pydis_core.exts"]], "site_api": [[6, "module-pydis_core.site_api"]], "channel": [[9, "module-pydis_core.utils.channel"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "regex": [[18, "module-pydis_core.utils.regex"]], "logging": [[15, "module-pydis_core.utils.logging"]], "members": [[16, "module-pydis_core.utils.members"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "function": [[13, "module-pydis_core.utils.function"]], "commands": [[10, "module-pydis_core.utils.commands"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "interactions": [[14, "module-pydis_core.utils.interactions"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "1": [0, 15], "0": [0, 8, 14, 15], "25th": 0, "juli": 0, "2023": 0, "featur": [0, 1, 3], "190": 0, "overwrit": [0, 3], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "ext": [0, 2, 3, 7, 9, 10], "command": [0, 1, 3, 7, 9, 11, 13], "bot": [0, 1, 3, 7, 9], "process_command": [0, 2, 3], "ensur": [0, 3, 14, 18], "ar": [0, 1, 3, 8, 13, 14, 18], "process": [0, 3], "until": [0, 3, 18], "all": [0, 1, 3, 4, 7, 19], "extens": [0, 3], "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 17, 18, 19], "onli": [0, 3], "work": [0, 1], "client": [0, 3, 4], "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "14th": 0, "break": [0, 13], "188": 0, "support": [0, 4, 7, 19], "send": [0, 6, 14], "multipl": 0, "file": [0, 1, 17], "onc": [0, 8], "past": [0, 17, 19], "servic": [0, 1, 3, 17], "call": [0, 3, 11, 13, 19], "util": [0, 1, 2, 3, 8, 13, 14, 15], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 17], "must": [0, 19], "now": [0, 1, 19], "provid": [0, 1, 8, 10, 12, 19], "list": [0, 1, 3, 17], "pastefil": [0, 3, 7, 17], "184": 0, "remov": [0, 3, 14, 17], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "store": [0, 7, 8], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 14], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "stop": [0, 7, 14], "addit": 0, "exist": [0, 1, 19], "logic": 0, "timeout": [0, 14], "bug": 0, "187": 0, "fix": 0, "channel": [0, 3, 7, 11], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "includ": [0, 1, 12], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "bump": 0, "py": [0, 3, 13], "2": [0, 3, 14], "3": 0, "9": 0, "2nd": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "add": [0, 3, 11], "lexer": [0, 17], "valid": 0, "default": [0, 1, 3, 17], "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "schedul": [0, 3, 7], "179": 0, "upload": [0, 17], "text": [0, 6, 10, 17], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "cog": [0, 3, 5], "5": [0, 11], "march": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 14, 19], "have": [0, 9, 13, 15], "been": 0, "releas": 0, "also": [0, 7, 13, 14], "need": [0, 1], "run": [0, 1, 11, 19], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "button": [0, 14], "press": 0, "88": 0, "decor": [0, 8, 11, 13], "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": [0, 17], "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "core": [0, 1], "108": 0, "version": [0, 10], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "deletemessagebutton": [0, 3, 7, 14], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14, 17], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": [1, 17], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 17, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 13], "check": [3, 6, 9, 11, 12, 14, 19], "relev": 3, "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 17, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": [6, 17], "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11, 17], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "model_computed_field": [7, 17], "model_config": [7, 17], "model_field": [7, 17], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": [11, 17], "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": [11, 17], "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": [13, 17], "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": [13, 17], "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "listen": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "data": 17, "basemodel": 17, "format": [17, 18], "classvar": 17, "computedfieldinfo": 17, "dictionari": 17, "comput": 17, "field": 17, "correspond": 17, "configdict": 17, "model": 17, "conform": 17, "pydant": 17, "config": 17, "fieldinfo": 17, "metadata": 17, "defin": 17, "map": 17, "__fields__": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "execut": 19, "keep": 19, "track": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"], [14, 2, 1, "", "stop"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteFile"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data", "6": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"], "6": ["py", "attribute", "Python attribute"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 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": {"Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "channel": [[9, "module-pydis_core.utils.channel"]], "caching": [[8, "module-pydis_core.utils.caching"]], "site_api": [[6, "module-pydis_core.site_api"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "logging": [[15, "module-pydis_core.utils.logging"]], "members": [[16, "module-pydis_core.utils.members"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "regex": [[18, "module-pydis_core.utils.regex"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "function": [[13, "module-pydis_core.utils.function"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "commands": [[10, "module-pydis_core.utils.commands"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v10.1.0/versions.html b/v10.1.0/versions.html
index 86e1e7bf..06bf8b7e 100644
--- a/v10.1.0/versions.html
+++ b/v10.1.0/versions.html
@@ -275,6 +275,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -478,6 +482,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v10.2.0/.buildinfo b/v10.2.0/.buildinfo
index e8b0ab66..80ff0282 100644
--- a/v10.2.0/.buildinfo
+++ b/v10.2.0/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: ca200586669f0c2d0ef28798d0ddf22c
+config: a61b663867569edfc3a6c702541eaeff
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v10.2.0/changelog.html b/v10.2.0/changelog.html
index d66efdf4..da2c7f33 100644
--- a/v10.2.0/changelog.html
+++ b/v10.2.0/changelog.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/development.html b/v10.2.0/development.html
index f5c30e81..d7dab713 100644
--- a/v10.2.0/development.html
+++ b/v10.2.0/development.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/genindex.html b/v10.2.0/genindex.html
index e1a38d50..b2a77a17 100644
--- a/v10.2.0/genindex.html
+++ b/v10.2.0/genindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/index.html b/v10.2.0/index.html
index 8dd75426..80c7a6b5 100644
--- a/v10.2.0/index.html
+++ b/v10.2.0/index.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/output/pydis_core.async_stats.html b/v10.2.0/output/pydis_core.async_stats.html
index cdb996d1..3ac41476 100644
--- a/v10.2.0/output/pydis_core.async_stats.html
+++ b/v10.2.0/output/pydis_core.async_stats.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/output/pydis_core.exts.html b/v10.2.0/output/pydis_core.exts.html
index ee44512e..5844a370 100644
--- a/v10.2.0/output/pydis_core.exts.html
+++ b/v10.2.0/output/pydis_core.exts.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/output/pydis_core.html b/v10.2.0/output/pydis_core.html
index 8867dd5c..3ea2c70c 100644
--- a/v10.2.0/output/pydis_core.html
+++ b/v10.2.0/output/pydis_core.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/output/pydis_core.site_api.html b/v10.2.0/output/pydis_core.site_api.html
index 39092227..beca888e 100644
--- a/v10.2.0/output/pydis_core.site_api.html
+++ b/v10.2.0/output/pydis_core.site_api.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/output/pydis_core.utils.caching.html b/v10.2.0/output/pydis_core.utils.caching.html
index 3fdea9cd..dfedd259 100644
--- a/v10.2.0/output/pydis_core.utils.caching.html
+++ b/v10.2.0/output/pydis_core.utils.caching.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/output/pydis_core.utils.channel.html b/v10.2.0/output/pydis_core.utils.channel.html
index 44a92844..40585f64 100644
--- a/v10.2.0/output/pydis_core.utils.channel.html
+++ b/v10.2.0/output/pydis_core.utils.channel.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/output/pydis_core.utils.commands.html b/v10.2.0/output/pydis_core.utils.commands.html
index ade8700b..d274136a 100644
--- a/v10.2.0/output/pydis_core.utils.commands.html
+++ b/v10.2.0/output/pydis_core.utils.commands.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/output/pydis_core.utils.cooldown.html b/v10.2.0/output/pydis_core.utils.cooldown.html
index 3e978dc3..4b413cea 100644
--- a/v10.2.0/output/pydis_core.utils.cooldown.html
+++ b/v10.2.0/output/pydis_core.utils.cooldown.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/output/pydis_core.utils.error_handling.html b/v10.2.0/output/pydis_core.utils.error_handling.html
index 699e5d67..292ce76b 100644
--- a/v10.2.0/output/pydis_core.utils.error_handling.html
+++ b/v10.2.0/output/pydis_core.utils.error_handling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/output/pydis_core.utils.function.html b/v10.2.0/output/pydis_core.utils.function.html
index 59321012..0702d53f 100644
--- a/v10.2.0/output/pydis_core.utils.function.html
+++ b/v10.2.0/output/pydis_core.utils.function.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/output/pydis_core.utils.html b/v10.2.0/output/pydis_core.utils.html
index 00fb5265..5e8cf85f 100644
--- a/v10.2.0/output/pydis_core.utils.html
+++ b/v10.2.0/output/pydis_core.utils.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/output/pydis_core.utils.interactions.html b/v10.2.0/output/pydis_core.utils.interactions.html
index a897a7a3..33e8c0ab 100644
--- a/v10.2.0/output/pydis_core.utils.interactions.html
+++ b/v10.2.0/output/pydis_core.utils.interactions.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/output/pydis_core.utils.logging.html b/v10.2.0/output/pydis_core.utils.logging.html
index 36f5cc11..dc62946f 100644
--- a/v10.2.0/output/pydis_core.utils.logging.html
+++ b/v10.2.0/output/pydis_core.utils.logging.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/output/pydis_core.utils.members.html b/v10.2.0/output/pydis_core.utils.members.html
index 28738f2e..b0c142fa 100644
--- a/v10.2.0/output/pydis_core.utils.members.html
+++ b/v10.2.0/output/pydis_core.utils.members.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/output/pydis_core.utils.paste_service.html b/v10.2.0/output/pydis_core.utils.paste_service.html
index 412f5b55..94fefe6a 100644
--- a/v10.2.0/output/pydis_core.utils.paste_service.html
+++ b/v10.2.0/output/pydis_core.utils.paste_service.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/output/pydis_core.utils.regex.html b/v10.2.0/output/pydis_core.utils.regex.html
index 203e922c..fe174f90 100644
--- a/v10.2.0/output/pydis_core.utils.regex.html
+++ b/v10.2.0/output/pydis_core.utils.regex.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/output/pydis_core.utils.scheduling.html b/v10.2.0/output/pydis_core.utils.scheduling.html
index af2fe850..222abfca 100644
--- a/v10.2.0/output/pydis_core.utils.scheduling.html
+++ b/v10.2.0/output/pydis_core.utils.scheduling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/py-modindex.html b/v10.2.0/py-modindex.html
index 9c0af2ea..a5aa69e3 100644
--- a/v10.2.0/py-modindex.html
+++ b/v10.2.0/py-modindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/search.html b/v10.2.0/search.html
index ae4c1f5c..88d146e2 100644
--- a/v10.2.0/search.html
+++ b/v10.2.0/search.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.2.0/searchindex.js b/v10.2.0/searchindex.js
index 3d223775..f95705e3 100644
--- a/v10.2.0/searchindex.js
+++ b/v10.2.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "2": [0, 3, 14], "0": [0, 8, 14, 15], "28th": 0, "august": 0, "2023": 0, "support": [0, 4, 7, 19], "192": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "py": [0, 3, 13], "3": 0, "1": [0, 15], "25th": 0, "juli": 0, "featur": [0, 1, 3], "190": 0, "overwrit": [0, 3], "ext": [0, 2, 3, 7, 9, 10], "command": [0, 1, 3, 7, 9, 11, 13], "bot": [0, 1, 3, 7, 9], "process_command": [0, 2, 3], "ensur": [0, 3, 14, 18], "ar": [0, 1, 3, 8, 13, 14, 18], "process": [0, 3], "until": [0, 3, 18], "all": [0, 1, 3, 4, 7, 19], "extens": [0, 3], "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 17, 18, 19], "onli": [0, 3], "work": [0, 1], "client": [0, 3, 4], "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "14th": 0, "break": [0, 13], "188": 0, "send": [0, 6, 14], "multipl": 0, "file": [0, 1, 17], "onc": [0, 8], "past": [0, 17, 19], "servic": [0, 1, 3, 17], "call": [0, 3, 11, 13, 19], "util": [0, 1, 2, 3, 8, 13, 14, 15], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 17], "must": [0, 19], "now": [0, 1, 19], "provid": [0, 1, 8, 10, 12, 19], "list": [0, 1, 3, 17], "pastefil": [0, 3, 7, 17], "184": 0, "remov": [0, 3, 14, 17], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "store": [0, 7, 8], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 14], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "stop": [0, 7, 14], "addit": 0, "exist": [0, 1, 19], "logic": 0, "timeout": [0, 14], "bug": 0, "187": 0, "fix": 0, "channel": [0, 3, 7, 11], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "includ": [0, 1, 12], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "9": 0, "2nd": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "add": [0, 3, 11], "lexer": [0, 17], "valid": 0, "default": [0, 1, 3, 17], "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "schedul": [0, 3, 7], "179": 0, "upload": [0, 17], "text": [0, 6, 10, 17], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "cog": [0, 3, 5], "5": [0, 11], "march": 0, "174": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 14, 19], "have": [0, 9, 13, 15], "been": 0, "releas": 0, "also": [0, 7, 13, 14], "need": [0, 1], "run": [0, 1, 11, 19], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "button": [0, 14], "press": 0, "88": 0, "decor": [0, 8, 11, 13], "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "septemb": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": [0, 17], "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "core": [0, 1], "108": 0, "version": [0, 10], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "deletemessagebutton": [0, 3, 7, 14], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14, 17], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": [1, 17], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 17, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 13], "check": [3, 6, 9, 11, 12, 14, 19], "relev": 3, "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 17, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": [6, 17], "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11, 17], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "model_computed_field": [7, 17], "model_config": [7, 17], "model_field": [7, 17], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": [11, 17], "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": [11, 17], "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": [13, 17], "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": [13, 17], "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "listen": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "data": 17, "basemodel": 17, "format": [17, 18], "classvar": 17, "computedfieldinfo": 17, "dictionari": 17, "comput": 17, "field": 17, "correspond": 17, "configdict": 17, "model": 17, "conform": 17, "pydant": 17, "config": 17, "fieldinfo": 17, "metadata": 17, "defin": 17, "map": 17, "__fields__": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "execut": 19, "keep": 19, "track": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"], [14, 2, 1, "", "stop"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteFile"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data", "6": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"], "6": ["py", "attribute", "Python attribute"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 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": {"channel": [[9, "module-pydis_core.utils.channel"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Changelog": [[0, "changelog"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "regex": [[18, "module-pydis_core.utils.regex"]], "members": [[16, "module-pydis_core.utils.members"]], "logging": [[15, "module-pydis_core.utils.logging"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "commands": [[10, "module-pydis_core.utils.commands"]], "function": [[13, "module-pydis_core.utils.function"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "2": [0, 3, 14], "0": [0, 8, 14, 15], "28th": 0, "august": 0, "2023": 0, "support": [0, 4, 7, 19], "192": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "py": [0, 3, 13], "3": 0, "1": [0, 15], "25th": 0, "juli": 0, "featur": [0, 1, 3], "190": 0, "overwrit": [0, 3], "ext": [0, 2, 3, 7, 9, 10], "command": [0, 1, 3, 7, 9, 11, 13], "bot": [0, 1, 3, 7, 9], "process_command": [0, 2, 3], "ensur": [0, 3, 14, 18], "ar": [0, 1, 3, 8, 13, 14, 18], "process": [0, 3], "until": [0, 3, 18], "all": [0, 1, 3, 4, 7, 19], "extens": [0, 3], "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 17, 18, 19], "onli": [0, 3], "work": [0, 1], "client": [0, 3, 4], "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "14th": 0, "break": [0, 13], "188": 0, "send": [0, 6, 14], "multipl": 0, "file": [0, 1, 17], "onc": [0, 8], "past": [0, 17, 19], "servic": [0, 1, 3, 17], "call": [0, 3, 11, 13, 19], "util": [0, 1, 2, 3, 8, 13, 14, 15], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 17], "must": [0, 19], "now": [0, 1, 19], "provid": [0, 1, 8, 10, 12, 19], "list": [0, 1, 3, 17], "pastefil": [0, 3, 7, 17], "184": 0, "remov": [0, 3, 14, 17], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "store": [0, 7, 8], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 14], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "stop": [0, 7, 14], "addit": 0, "exist": [0, 1, 19], "logic": 0, "timeout": [0, 14], "bug": 0, "187": 0, "fix": 0, "channel": [0, 3, 7, 11], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "includ": [0, 1, 12], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "9": 0, "2nd": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "add": [0, 3, 11], "lexer": [0, 17], "valid": 0, "default": [0, 1, 3, 17], "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "schedul": [0, 3, 7], "179": 0, "upload": [0, 17], "text": [0, 6, 10, 17], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "cog": [0, 3, 5], "5": [0, 11], "march": 0, "174": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 14, 19], "have": [0, 9, 13, 15], "been": 0, "releas": 0, "also": [0, 7, 13, 14], "need": [0, 1], "run": [0, 1, 11, 19], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "button": [0, 14], "press": 0, "88": 0, "decor": [0, 8, 11, 13], "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "septemb": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": [0, 17], "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "core": [0, 1], "108": 0, "version": [0, 10], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "deletemessagebutton": [0, 3, 7, 14], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14, 17], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": [1, 17], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 17, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 13], "check": [3, 6, 9, 11, 12, 14, 19], "relev": 3, "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 17, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": [6, 17], "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11, 17], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "model_computed_field": [7, 17], "model_config": [7, 17], "model_field": [7, 17], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": [11, 17], "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": [11, 17], "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": [13, 17], "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": [13, 17], "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "listen": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "data": 17, "basemodel": 17, "format": [17, 18], "classvar": 17, "computedfieldinfo": 17, "dictionari": 17, "comput": 17, "field": 17, "correspond": 17, "configdict": 17, "model": 17, "conform": 17, "pydant": 17, "config": 17, "fieldinfo": 17, "metadata": 17, "defin": 17, "map": 17, "__fields__": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "execut": 19, "keep": 19, "track": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"], [14, 2, 1, "", "stop"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteFile"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data", "6": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"], "6": ["py", "attribute", "Python attribute"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"caching": [[8, "module-pydis_core.utils.caching"]], "site_api": [[6, "module-pydis_core.site_api"]], "Exts": [[5, "module-pydis_core.exts"]], "channel": [[9, "module-pydis_core.utils.channel"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "members": [[16, "module-pydis_core.utils.members"]], "regex": [[18, "module-pydis_core.utils.regex"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "logging": [[15, "module-pydis_core.utils.logging"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "function": [[13, "module-pydis_core.utils.function"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "commands": [[10, "module-pydis_core.utils.commands"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v10.2.0/versions.html b/v10.2.0/versions.html
index deec3f3c..1da9b539 100644
--- a/v10.2.0/versions.html
+++ b/v10.2.0/versions.html
@@ -275,6 +275,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -478,6 +482,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v10.3.0/.buildinfo b/v10.3.0/.buildinfo
index b5ddd669..2daadd5b 100644
--- a/v10.3.0/.buildinfo
+++ b/v10.3.0/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: d88fe3e2d678789dc71431c71d19a88f
+config: 89ef4d2a1f216e81ad2f836e96aee7a1
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v10.3.0/changelog.html b/v10.3.0/changelog.html
index 33aa8a84..62efe8e9 100644
--- a/v10.3.0/changelog.html
+++ b/v10.3.0/changelog.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/development.html b/v10.3.0/development.html
index 8d25ab0f..42e1770c 100644
--- a/v10.3.0/development.html
+++ b/v10.3.0/development.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/genindex.html b/v10.3.0/genindex.html
index 6f5b782c..b6434009 100644
--- a/v10.3.0/genindex.html
+++ b/v10.3.0/genindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/index.html b/v10.3.0/index.html
index 34883996..1e646b6f 100644
--- a/v10.3.0/index.html
+++ b/v10.3.0/index.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/output/pydis_core.async_stats.html b/v10.3.0/output/pydis_core.async_stats.html
index a919c23c..798fa540 100644
--- a/v10.3.0/output/pydis_core.async_stats.html
+++ b/v10.3.0/output/pydis_core.async_stats.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/output/pydis_core.exts.html b/v10.3.0/output/pydis_core.exts.html
index 0991eed3..6e09ad8f 100644
--- a/v10.3.0/output/pydis_core.exts.html
+++ b/v10.3.0/output/pydis_core.exts.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/output/pydis_core.html b/v10.3.0/output/pydis_core.html
index 835a0ebe..23e4f772 100644
--- a/v10.3.0/output/pydis_core.html
+++ b/v10.3.0/output/pydis_core.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/output/pydis_core.site_api.html b/v10.3.0/output/pydis_core.site_api.html
index 70eb4164..447e5cf1 100644
--- a/v10.3.0/output/pydis_core.site_api.html
+++ b/v10.3.0/output/pydis_core.site_api.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/output/pydis_core.utils.caching.html b/v10.3.0/output/pydis_core.utils.caching.html
index 22ba9286..d1984712 100644
--- a/v10.3.0/output/pydis_core.utils.caching.html
+++ b/v10.3.0/output/pydis_core.utils.caching.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/output/pydis_core.utils.channel.html b/v10.3.0/output/pydis_core.utils.channel.html
index 27072f1e..ee1cbf66 100644
--- a/v10.3.0/output/pydis_core.utils.channel.html
+++ b/v10.3.0/output/pydis_core.utils.channel.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/output/pydis_core.utils.commands.html b/v10.3.0/output/pydis_core.utils.commands.html
index 5afb30ef..b7181ae1 100644
--- a/v10.3.0/output/pydis_core.utils.commands.html
+++ b/v10.3.0/output/pydis_core.utils.commands.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/output/pydis_core.utils.cooldown.html b/v10.3.0/output/pydis_core.utils.cooldown.html
index acd5c316..ddf9cb2c 100644
--- a/v10.3.0/output/pydis_core.utils.cooldown.html
+++ b/v10.3.0/output/pydis_core.utils.cooldown.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/output/pydis_core.utils.error_handling.html b/v10.3.0/output/pydis_core.utils.error_handling.html
index ef0c5043..aa4dc1e1 100644
--- a/v10.3.0/output/pydis_core.utils.error_handling.html
+++ b/v10.3.0/output/pydis_core.utils.error_handling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/output/pydis_core.utils.function.html b/v10.3.0/output/pydis_core.utils.function.html
index 59764927..a235f391 100644
--- a/v10.3.0/output/pydis_core.utils.function.html
+++ b/v10.3.0/output/pydis_core.utils.function.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/output/pydis_core.utils.html b/v10.3.0/output/pydis_core.utils.html
index aaa7e00b..28a2782e 100644
--- a/v10.3.0/output/pydis_core.utils.html
+++ b/v10.3.0/output/pydis_core.utils.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/output/pydis_core.utils.interactions.html b/v10.3.0/output/pydis_core.utils.interactions.html
index 52909278..398e05a8 100644
--- a/v10.3.0/output/pydis_core.utils.interactions.html
+++ b/v10.3.0/output/pydis_core.utils.interactions.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/output/pydis_core.utils.logging.html b/v10.3.0/output/pydis_core.utils.logging.html
index c9fd4527..7b1eb3a5 100644
--- a/v10.3.0/output/pydis_core.utils.logging.html
+++ b/v10.3.0/output/pydis_core.utils.logging.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/output/pydis_core.utils.members.html b/v10.3.0/output/pydis_core.utils.members.html
index 9ff9711f..696902eb 100644
--- a/v10.3.0/output/pydis_core.utils.members.html
+++ b/v10.3.0/output/pydis_core.utils.members.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/output/pydis_core.utils.paste_service.html b/v10.3.0/output/pydis_core.utils.paste_service.html
index 62620be3..706e48c4 100644
--- a/v10.3.0/output/pydis_core.utils.paste_service.html
+++ b/v10.3.0/output/pydis_core.utils.paste_service.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/output/pydis_core.utils.regex.html b/v10.3.0/output/pydis_core.utils.regex.html
index 0c845de5..936a15af 100644
--- a/v10.3.0/output/pydis_core.utils.regex.html
+++ b/v10.3.0/output/pydis_core.utils.regex.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/output/pydis_core.utils.scheduling.html b/v10.3.0/output/pydis_core.utils.scheduling.html
index 260345e7..f9ad0daa 100644
--- a/v10.3.0/output/pydis_core.utils.scheduling.html
+++ b/v10.3.0/output/pydis_core.utils.scheduling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/py-modindex.html b/v10.3.0/py-modindex.html
index 13dcee27..0095d0e1 100644
--- a/v10.3.0/py-modindex.html
+++ b/v10.3.0/py-modindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/search.html b/v10.3.0/search.html
index 69f697a8..8fb190d1 100644
--- a/v10.3.0/search.html
+++ b/v10.3.0/search.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.3.0/searchindex.js b/v10.3.0/searchindex.js
index b21e2447..14df6834 100644
--- a/v10.3.0/searchindex.js
+++ b/v10.3.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "3": 0, "0": [0, 8, 14, 15], "19th": 0, "septemb": 0, "2023": 0, "featur": [0, 1, 3], "195": 0, "set": [0, 1, 3, 11, 13, 14], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "websocket": 0, "chardet": 0, "async_rediscach": [0, 3], "logger": [0, 15], "warn": [0, 19], "level": [0, 7, 15], "asyncio": [0, 4, 19], "info": [0, 1], "default": [0, 1, 3, 17], "add": [0, 3, 11], "log_format": [0, 3, 7, 15], "pydis_cor": [0, 1, 3, 14, 15], "util": [0, 1, 2, 3, 8, 13, 14, 15], "log": [0, 3, 7, 12, 16, 19], "allow": [0, 1, 3, 14, 17], "standardis": [0, 15], "across": [0, 15], "all": [0, 1, 3, 4, 7, 15, 19], "servic": [0, 1, 3, 17], "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "2": [0, 3, 14], "28th": 0, "august": 0, "support": [0, 4, 7, 19], "192": 0, "bump": 0, "py": [0, 3, 13], "1": [0, 15], "25th": 0, "juli": 0, "190": 0, "overwrit": [0, 3], "ext": [0, 2, 3, 7, 9, 10], "command": [0, 1, 3, 7, 9, 11, 13], "bot": [0, 1, 3, 7, 9], "process_command": [0, 2, 3], "ensur": [0, 3, 14, 18], "ar": [0, 1, 3, 8, 13, 14, 18], "process": [0, 3], "until": [0, 3, 18], "extens": [0, 3], "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 17, 18, 19], "onli": [0, 3], "work": [0, 1], "client": [0, 3, 4], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "14th": 0, "break": [0, 13], "188": 0, "send": [0, 6, 14], "multipl": 0, "file": [0, 1, 17], "onc": [0, 8], "past": [0, 17, 19], "call": [0, 3, 11, 13, 19], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 17], "must": [0, 19], "now": [0, 1, 19], "provid": [0, 1, 8, 10, 12, 19], "list": [0, 1, 3, 17], "pastefil": [0, 3, 7, 17], "184": 0, "remov": [0, 3, 14, 17], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "store": [0, 7, 8], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 14], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "stop": [0, 7, 14], "addit": 0, "exist": [0, 1, 19], "logic": 0, "timeout": [0, 14], "bug": 0, "187": 0, "fix": 0, "channel": [0, 3, 7, 11], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "includ": [0, 1, 12], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "9": 0, "2nd": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "lexer": [0, 17], "valid": 0, "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "schedul": [0, 3, 7], "179": 0, "upload": [0, 17], "text": [0, 6, 10, 17], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "cog": [0, 3, 5], "5": [0, 11], "march": 0, "174": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 14, 19], "have": [0, 9, 13, 15], "been": 0, "releas": 0, "also": [0, 7, 13, 14], "need": [0, 1], "run": [0, 1, 11, 19], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "button": [0, 14], "press": 0, "88": 0, "decor": [0, 8, 11, 13], "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "157": 0, "renam": 0, "project": [0, 1, 15], "publish": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": [0, 17], "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "core": [0, 1], "108": 0, "version": [0, 10], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "104": 0, "deletemessagebutton": [0, 3, 7, 14], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14, 17], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 15, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": [1, 17], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 15, 17, 19], "comma": 1, "seper": 1, "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 17, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 13], "check": [3, 6, 9, 11, 12, 14, 19], "relev": 3, "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 17, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": [6, 17], "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11, 17], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "rather": 7, "than": [7, 17], "It": 7, "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "model_computed_field": [7, 17], "model_config": [7, 17], "model_field": [7, 17], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": [11, 17], "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": [11, 17], "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": [13, 17], "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": [13, 17], "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "listen": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "formatt": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "data": 17, "basemodel": 17, "format": [17, 18], "classvar": 17, "computedfieldinfo": 17, "dictionari": 17, "comput": 17, "field": 17, "correspond": 17, "configdict": 17, "model": 17, "conform": 17, "pydant": 17, "config": 17, "fieldinfo": 17, "metadata": 17, "defin": 17, "map": 17, "__fields__": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "execut": 19, "keep": 19, "track": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"], [14, 2, 1, "", "stop"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"], [15, 5, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteFile"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data", "6": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"], "6": ["py", "attribute", "Python attribute"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 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": {"channel": [[9, "module-pydis_core.utils.channel"]], "Exts": [[5, "module-pydis_core.exts"]], "site_api": [[6, "module-pydis_core.site_api"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "logging": [[15, "module-pydis_core.utils.logging"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "members": [[16, "module-pydis_core.utils.members"]], "regex": [[18, "module-pydis_core.utils.regex"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "commands": [[10, "module-pydis_core.utils.commands"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "function": [[13, "module-pydis_core.utils.function"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "log_format (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.log_format"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "3": 0, "0": [0, 8, 14, 15], "19th": 0, "septemb": 0, "2023": 0, "featur": [0, 1, 3], "195": 0, "set": [0, 1, 3, 11, 13, 14], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "websocket": 0, "chardet": 0, "async_rediscach": [0, 3], "logger": [0, 15], "warn": [0, 19], "level": [0, 7, 15], "asyncio": [0, 4, 19], "info": [0, 1], "default": [0, 1, 3, 17], "add": [0, 3, 11], "log_format": [0, 3, 7, 15], "pydis_cor": [0, 1, 3, 14, 15], "util": [0, 1, 2, 3, 8, 13, 14, 15], "log": [0, 3, 7, 12, 16, 19], "allow": [0, 1, 3, 14, 17], "standardis": [0, 15], "across": [0, 15], "all": [0, 1, 3, 4, 7, 15, 19], "servic": [0, 1, 3, 17], "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "2": [0, 3, 14], "28th": 0, "august": 0, "support": [0, 4, 7, 19], "192": 0, "bump": 0, "py": [0, 3, 13], "1": [0, 15], "25th": 0, "juli": 0, "190": 0, "overwrit": [0, 3], "ext": [0, 2, 3, 7, 9, 10], "command": [0, 1, 3, 7, 9, 11, 13], "bot": [0, 1, 3, 7, 9], "process_command": [0, 2, 3], "ensur": [0, 3, 14, 18], "ar": [0, 1, 3, 8, 13, 14, 18], "process": [0, 3], "until": [0, 3, 18], "extens": [0, 3], "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 17, 18, 19], "onli": [0, 3], "work": [0, 1], "client": [0, 3, 4], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "14th": 0, "break": [0, 13], "188": 0, "send": [0, 6, 14], "multipl": 0, "file": [0, 1, 17], "onc": [0, 8], "past": [0, 17, 19], "call": [0, 3, 11, 13, 19], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 17], "must": [0, 19], "now": [0, 1, 19], "provid": [0, 1, 8, 10, 12, 19], "list": [0, 1, 3, 17], "pastefil": [0, 3, 7, 17], "184": 0, "remov": [0, 3, 14, 17], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "store": [0, 7, 8], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 14], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "stop": [0, 7, 14], "addit": 0, "exist": [0, 1, 19], "logic": 0, "timeout": [0, 14], "bug": 0, "187": 0, "fix": 0, "channel": [0, 3, 7, 11], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "includ": [0, 1, 12], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "9": 0, "2nd": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "lexer": [0, 17], "valid": 0, "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "schedul": [0, 3, 7], "179": 0, "upload": [0, 17], "text": [0, 6, 10, 17], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "cog": [0, 3, 5], "5": [0, 11], "march": 0, "174": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 14, 19], "have": [0, 9, 13, 15], "been": 0, "releas": 0, "also": [0, 7, 13, 14], "need": [0, 1], "run": [0, 1, 11, 19], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "button": [0, 14], "press": 0, "88": 0, "decor": [0, 8, 11, 13], "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "157": 0, "renam": 0, "project": [0, 1, 15], "publish": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": [0, 17], "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "core": [0, 1], "108": 0, "version": [0, 10], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "104": 0, "deletemessagebutton": [0, 3, 7, 14], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14, 17], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 15, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": [1, 17], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 15, 17, 19], "comma": 1, "seper": 1, "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 17, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 13], "check": [3, 6, 9, 11, 12, 14, 19], "relev": 3, "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 17, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": [6, 17], "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11, 17], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "rather": 7, "than": [7, 17], "It": 7, "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "model_computed_field": [7, 17], "model_config": [7, 17], "model_field": [7, 17], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": [11, 17], "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": [11, 17], "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": [13, 17], "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": [13, 17], "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "listen": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "formatt": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "data": 17, "basemodel": 17, "format": [17, 18], "classvar": 17, "computedfieldinfo": 17, "dictionari": 17, "comput": 17, "field": 17, "correspond": 17, "configdict": 17, "model": 17, "conform": 17, "pydant": 17, "config": 17, "fieldinfo": 17, "metadata": 17, "defin": 17, "map": 17, "__fields__": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "execut": 19, "keep": 19, "track": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"], [14, 2, 1, "", "stop"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"], [15, 5, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteFile"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data", "6": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"], "6": ["py", "attribute", "Python attribute"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"caching": [[8, "module-pydis_core.utils.caching"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "channel": [[9, "module-pydis_core.utils.channel"]], "Exts": [[5, "module-pydis_core.exts"]], "site_api": [[6, "module-pydis_core.site_api"]], "regex": [[18, "module-pydis_core.utils.regex"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "members": [[16, "module-pydis_core.utils.members"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "logging": [[15, "module-pydis_core.utils.logging"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "function": [[13, "module-pydis_core.utils.function"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "commands": [[10, "module-pydis_core.utils.commands"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "log_format (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.log_format"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v10.3.0/versions.html b/v10.3.0/versions.html
index 110accaf..084ca39e 100644
--- a/v10.3.0/versions.html
+++ b/v10.3.0/versions.html
@@ -275,6 +275,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -478,6 +482,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v10.4.0/.buildinfo b/v10.4.0/.buildinfo
index 1deb8fd8..979bf999 100644
--- a/v10.4.0/.buildinfo
+++ b/v10.4.0/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 1c961db5c059891df951df8c3bb1ca1a
+config: a82df0e8c108ab90bcc4b8063c43ef08
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v10.4.0/changelog.html b/v10.4.0/changelog.html
index 82d15faa..f5ceacb9 100644
--- a/v10.4.0/changelog.html
+++ b/v10.4.0/changelog.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/development.html b/v10.4.0/development.html
index 106bb0fa..e07a6530 100644
--- a/v10.4.0/development.html
+++ b/v10.4.0/development.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/genindex.html b/v10.4.0/genindex.html
index a45c3b9b..618a7725 100644
--- a/v10.4.0/genindex.html
+++ b/v10.4.0/genindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/index.html b/v10.4.0/index.html
index ac23c369..1a8875c5 100644
--- a/v10.4.0/index.html
+++ b/v10.4.0/index.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/output/pydis_core.async_stats.html b/v10.4.0/output/pydis_core.async_stats.html
index b3ce0d43..aa883ec8 100644
--- a/v10.4.0/output/pydis_core.async_stats.html
+++ b/v10.4.0/output/pydis_core.async_stats.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/output/pydis_core.exts.html b/v10.4.0/output/pydis_core.exts.html
index 8f6616cf..e5027a0b 100644
--- a/v10.4.0/output/pydis_core.exts.html
+++ b/v10.4.0/output/pydis_core.exts.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/output/pydis_core.html b/v10.4.0/output/pydis_core.html
index 9dc68f7f..bf2b11ed 100644
--- a/v10.4.0/output/pydis_core.html
+++ b/v10.4.0/output/pydis_core.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/output/pydis_core.site_api.html b/v10.4.0/output/pydis_core.site_api.html
index 1cc196c6..01c92044 100644
--- a/v10.4.0/output/pydis_core.site_api.html
+++ b/v10.4.0/output/pydis_core.site_api.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/output/pydis_core.utils.caching.html b/v10.4.0/output/pydis_core.utils.caching.html
index 7e3c00e5..45724b9b 100644
--- a/v10.4.0/output/pydis_core.utils.caching.html
+++ b/v10.4.0/output/pydis_core.utils.caching.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/output/pydis_core.utils.channel.html b/v10.4.0/output/pydis_core.utils.channel.html
index 9e2a907e..d866f38c 100644
--- a/v10.4.0/output/pydis_core.utils.channel.html
+++ b/v10.4.0/output/pydis_core.utils.channel.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/output/pydis_core.utils.commands.html b/v10.4.0/output/pydis_core.utils.commands.html
index 94f02103..589ffade 100644
--- a/v10.4.0/output/pydis_core.utils.commands.html
+++ b/v10.4.0/output/pydis_core.utils.commands.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/output/pydis_core.utils.cooldown.html b/v10.4.0/output/pydis_core.utils.cooldown.html
index 9adee4e6..dc6fc541 100644
--- a/v10.4.0/output/pydis_core.utils.cooldown.html
+++ b/v10.4.0/output/pydis_core.utils.cooldown.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/output/pydis_core.utils.error_handling.html b/v10.4.0/output/pydis_core.utils.error_handling.html
index 8d38fb9b..0a803552 100644
--- a/v10.4.0/output/pydis_core.utils.error_handling.html
+++ b/v10.4.0/output/pydis_core.utils.error_handling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/output/pydis_core.utils.function.html b/v10.4.0/output/pydis_core.utils.function.html
index 964b33ba..6c40b3f2 100644
--- a/v10.4.0/output/pydis_core.utils.function.html
+++ b/v10.4.0/output/pydis_core.utils.function.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/output/pydis_core.utils.html b/v10.4.0/output/pydis_core.utils.html
index 79e0a7eb..49882b53 100644
--- a/v10.4.0/output/pydis_core.utils.html
+++ b/v10.4.0/output/pydis_core.utils.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/output/pydis_core.utils.interactions.html b/v10.4.0/output/pydis_core.utils.interactions.html
index 8830ddb3..610ac2ae 100644
--- a/v10.4.0/output/pydis_core.utils.interactions.html
+++ b/v10.4.0/output/pydis_core.utils.interactions.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/output/pydis_core.utils.logging.html b/v10.4.0/output/pydis_core.utils.logging.html
index ab3af769..5e83a53f 100644
--- a/v10.4.0/output/pydis_core.utils.logging.html
+++ b/v10.4.0/output/pydis_core.utils.logging.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/output/pydis_core.utils.members.html b/v10.4.0/output/pydis_core.utils.members.html
index 92c6f2e3..42dec5e4 100644
--- a/v10.4.0/output/pydis_core.utils.members.html
+++ b/v10.4.0/output/pydis_core.utils.members.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/output/pydis_core.utils.paste_service.html b/v10.4.0/output/pydis_core.utils.paste_service.html
index 3d6c8c25..8f183cca 100644
--- a/v10.4.0/output/pydis_core.utils.paste_service.html
+++ b/v10.4.0/output/pydis_core.utils.paste_service.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/output/pydis_core.utils.regex.html b/v10.4.0/output/pydis_core.utils.regex.html
index 0bcabbaf..b9dd12bf 100644
--- a/v10.4.0/output/pydis_core.utils.regex.html
+++ b/v10.4.0/output/pydis_core.utils.regex.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/output/pydis_core.utils.scheduling.html b/v10.4.0/output/pydis_core.utils.scheduling.html
index f43d1227..f1da4328 100644
--- a/v10.4.0/output/pydis_core.utils.scheduling.html
+++ b/v10.4.0/output/pydis_core.utils.scheduling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/py-modindex.html b/v10.4.0/py-modindex.html
index db10d456..ed4959d0 100644
--- a/v10.4.0/py-modindex.html
+++ b/v10.4.0/py-modindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/search.html b/v10.4.0/search.html
index 88e83d00..96b371ea 100644
--- a/v10.4.0/search.html
+++ b/v10.4.0/search.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.4.0/searchindex.js b/v10.4.0/searchindex.js
index a4be7e85..4d8c8e8b 100644
--- a/v10.4.0/searchindex.js
+++ b/v10.4.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "4": 0, "0": [0, 8, 14, 15], "26th": 0, "octob": 0, "2023": 0, "support": [0, 4, 7, 19], "196": 0, "bump": 0, "mani": [0, 3, 8], "develop": [0, 2, 3, 7], "depend": [0, 9], "aiodn": 0, "3": 0, "1": [0, 15], "19th": 0, "septemb": 0, "featur": [0, 1, 3], "195": 0, "set": [0, 1, 3, 11, 13, 14], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "websocket": 0, "chardet": 0, "async_rediscach": [0, 3], "logger": [0, 15], "warn": [0, 19], "level": [0, 7, 15], "asyncio": [0, 4, 19], "info": [0, 1], "default": [0, 1, 3, 17], "add": [0, 3, 11], "log_format": [0, 3, 7, 15], "pydis_cor": [0, 1, 3, 14, 15], "util": [0, 1, 2, 3, 8, 13, 14, 15], "log": [0, 3, 7, 12, 16, 19], "allow": [0, 1, 3, 14, 17], "standardis": [0, 15], "across": [0, 15], "all": [0, 1, 3, 4, 7, 15, 19], "servic": [0, 1, 3, 17], "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "2": [0, 3, 14], "28th": 0, "august": 0, "192": 0, "py": [0, 3, 13], "25th": 0, "juli": 0, "190": 0, "overwrit": [0, 3], "ext": [0, 2, 3, 7, 9, 10], "command": [0, 1, 3, 7, 9, 11, 13], "bot": [0, 1, 3, 7, 9], "process_command": [0, 2, 3], "ensur": [0, 3, 14, 18], "ar": [0, 1, 3, 8, 13, 14, 18], "process": [0, 3], "until": [0, 3, 18], "extens": [0, 3], "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 17, 18, 19], "onli": [0, 3], "work": [0, 1], "client": [0, 3, 4], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "14th": 0, "break": [0, 13], "188": 0, "send": [0, 6, 14], "multipl": 0, "file": [0, 1, 17], "onc": [0, 8], "past": [0, 17, 19], "call": [0, 3, 11, 13, 19], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 17], "must": [0, 19], "now": [0, 1, 19], "provid": [0, 1, 8, 10, 12, 19], "list": [0, 1, 3, 17], "pastefil": [0, 3, 7, 17], "184": 0, "remov": [0, 3, 14, 17], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "store": [0, 7, 8], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 14], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "stop": [0, 7, 14], "addit": 0, "exist": [0, 1, 19], "logic": 0, "timeout": [0, 14], "bug": 0, "187": 0, "fix": 0, "channel": [0, 3, 7, 11], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "includ": [0, 1, 12], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "9": 0, "2nd": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "lexer": [0, 17], "valid": 0, "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "schedul": [0, 3, 7], "179": 0, "upload": [0, 17], "text": [0, 6, 10, 17], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "cog": [0, 3, 5], "5": [0, 11], "march": 0, "174": 0, "februari": 0, "173": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 14, 19], "have": [0, 9, 13, 15], "been": 0, "releas": 0, "also": [0, 7, 13, 14], "need": [0, 1], "run": [0, 1, 11, 19], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "button": [0, 14], "press": 0, "88": 0, "decor": [0, 8, 11, 13], "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "157": 0, "renam": 0, "project": [0, 1, 15], "publish": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": [0, 17], "rc2": 0, "107": 0, "declar": 0, "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "core": [0, 1], "108": 0, "version": [0, 10], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "104": 0, "deletemessagebutton": [0, 3, 7, 14], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14, 17], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 15, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": [1, 17], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 15, 17, 19], "comma": 1, "seper": 1, "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 17, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 13], "check": [3, 6, 9, 11, 12, 14, 19], "relev": 3, "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 17, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": [6, 17], "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11, 17], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "rather": 7, "than": [7, 17], "It": 7, "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "model_computed_field": [7, 17], "model_config": [7, 17], "model_field": [7, 17], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": [11, 17], "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": [11, 17], "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": [13, 17], "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": [13, 17], "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "listen": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "formatt": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "data": 17, "basemodel": 17, "format": [17, 18], "classvar": 17, "computedfieldinfo": 17, "dictionari": 17, "comput": 17, "field": 17, "correspond": 17, "configdict": 17, "model": 17, "conform": 17, "pydant": 17, "config": 17, "fieldinfo": 17, "metadata": 17, "defin": 17, "map": 17, "__fields__": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "execut": 19, "keep": 19, "track": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"], [14, 2, 1, "", "stop"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"], [15, 5, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteFile"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data", "6": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"], "6": ["py", "attribute", "Python attribute"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 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": {"channel": [[9, "module-pydis_core.utils.channel"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "Exts": [[5, "module-pydis_core.exts"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "members": [[16, "module-pydis_core.utils.members"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "regex": [[18, "module-pydis_core.utils.regex"]], "logging": [[15, "module-pydis_core.utils.logging"]], "function": [[13, "module-pydis_core.utils.function"]], "commands": [[10, "module-pydis_core.utils.commands"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "interactions": [[14, "module-pydis_core.utils.interactions"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "log_format (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.log_format"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "4": 0, "0": [0, 8, 14, 15], "26th": 0, "octob": 0, "2023": 0, "support": [0, 4, 7, 19], "196": 0, "bump": 0, "mani": [0, 3, 8], "develop": [0, 2, 3, 7], "depend": [0, 9], "aiodn": 0, "3": 0, "1": [0, 15], "19th": 0, "septemb": 0, "featur": [0, 1, 3], "195": 0, "set": [0, 1, 3, 11, 13, 14], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "websocket": 0, "chardet": 0, "async_rediscach": [0, 3], "logger": [0, 15], "warn": [0, 19], "level": [0, 7, 15], "asyncio": [0, 4, 19], "info": [0, 1], "default": [0, 1, 3, 17], "add": [0, 3, 11], "log_format": [0, 3, 7, 15], "pydis_cor": [0, 1, 3, 14, 15], "util": [0, 1, 2, 3, 8, 13, 14, 15], "log": [0, 3, 7, 12, 16, 19], "allow": [0, 1, 3, 14, 17], "standardis": [0, 15], "across": [0, 15], "all": [0, 1, 3, 4, 7, 15, 19], "servic": [0, 1, 3, 17], "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "2": [0, 3, 14], "28th": 0, "august": 0, "192": 0, "py": [0, 3, 13], "25th": 0, "juli": 0, "190": 0, "overwrit": [0, 3], "ext": [0, 2, 3, 7, 9, 10], "command": [0, 1, 3, 7, 9, 11, 13], "bot": [0, 1, 3, 7, 9], "process_command": [0, 2, 3], "ensur": [0, 3, 14, 18], "ar": [0, 1, 3, 8, 13, 14, 18], "process": [0, 3], "until": [0, 3, 18], "extens": [0, 3], "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 17, 18, 19], "onli": [0, 3], "work": [0, 1], "client": [0, 3, 4], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "14th": 0, "break": [0, 13], "188": 0, "send": [0, 6, 14], "multipl": 0, "file": [0, 1, 17], "onc": [0, 8], "past": [0, 17, 19], "call": [0, 3, 11, 13, 19], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 17], "must": [0, 19], "now": [0, 1, 19], "provid": [0, 1, 8, 10, 12, 19], "list": [0, 1, 3, 17], "pastefil": [0, 3, 7, 17], "184": 0, "remov": [0, 3, 14, 17], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "store": [0, 7, 8], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 14], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "stop": [0, 7, 14], "addit": 0, "exist": [0, 1, 19], "logic": 0, "timeout": [0, 14], "bug": 0, "187": 0, "fix": 0, "channel": [0, 3, 7, 11], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "includ": [0, 1, 12], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "9": 0, "2nd": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "lexer": [0, 17], "valid": 0, "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "schedul": [0, 3, 7], "179": 0, "upload": [0, 17], "text": [0, 6, 10, 17], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "cog": [0, 3, 5], "5": [0, 11], "march": 0, "174": 0, "februari": 0, "173": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 14, 19], "have": [0, 9, 13, 15], "been": 0, "releas": 0, "also": [0, 7, 13, 14], "need": [0, 1], "run": [0, 1, 11, 19], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "button": [0, 14], "press": 0, "88": 0, "decor": [0, 8, 11, 13], "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "157": 0, "renam": 0, "project": [0, 1, 15], "publish": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": [0, 17], "rc2": 0, "107": 0, "declar": 0, "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "core": [0, 1], "108": 0, "version": [0, 10], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "104": 0, "deletemessagebutton": [0, 3, 7, 14], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14, 17], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 15, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": [1, 17], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 15, 17, 19], "comma": 1, "seper": 1, "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 17, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 13], "check": [3, 6, 9, 11, 12, 14, 19], "relev": 3, "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 17, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": [6, 17], "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11, 17], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "rather": 7, "than": [7, 17], "It": 7, "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "model_computed_field": [7, 17], "model_config": [7, 17], "model_field": [7, 17], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": [11, 17], "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": [11, 17], "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": [13, 17], "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": [13, 17], "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "listen": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "formatt": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "data": 17, "basemodel": 17, "format": [17, 18], "classvar": 17, "computedfieldinfo": 17, "dictionari": 17, "comput": 17, "field": 17, "correspond": 17, "configdict": 17, "model": 17, "conform": 17, "pydant": 17, "config": 17, "fieldinfo": 17, "metadata": 17, "defin": 17, "map": 17, "__fields__": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "execut": 19, "keep": 19, "track": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"], [14, 2, 1, "", "stop"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"], [15, 5, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteFile"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data", "6": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"], "6": ["py", "attribute", "Python attribute"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 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": {"channel": [[9, "module-pydis_core.utils.channel"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Exts": [[5, "module-pydis_core.exts"]], "site_api": [[6, "module-pydis_core.site_api"]], "regex": [[18, "module-pydis_core.utils.regex"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "logging": [[15, "module-pydis_core.utils.logging"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "members": [[16, "module-pydis_core.utils.members"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Changelog": [[0, "changelog"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "commands": [[10, "module-pydis_core.utils.commands"]], "function": [[13, "module-pydis_core.utils.function"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "interactions": [[14, "module-pydis_core.utils.interactions"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "log_format (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.log_format"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v10.4.0/versions.html b/v10.4.0/versions.html
index 7d5bcca8..95daabcd 100644
--- a/v10.4.0/versions.html
+++ b/v10.4.0/versions.html
@@ -275,6 +275,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -478,6 +482,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v10.5.0/.buildinfo b/v10.5.0/.buildinfo
index 626aaf49..341bc9d9 100644
--- a/v10.5.0/.buildinfo
+++ b/v10.5.0/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 35c2b5fd6a911d9a1ca8c77a04c56e81
+config: 57e42a56a32a38d8f968f697a7b8d8c6
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v10.5.0/changelog.html b/v10.5.0/changelog.html
index f5c5b32a..53ef38a9 100644
--- a/v10.5.0/changelog.html
+++ b/v10.5.0/changelog.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/development.html b/v10.5.0/development.html
index 031da1fd..4a47766a 100644
--- a/v10.5.0/development.html
+++ b/v10.5.0/development.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/genindex.html b/v10.5.0/genindex.html
index 8eb65725..d8dc0196 100644
--- a/v10.5.0/genindex.html
+++ b/v10.5.0/genindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/index.html b/v10.5.0/index.html
index 2f4e7187..a4391409 100644
--- a/v10.5.0/index.html
+++ b/v10.5.0/index.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/output/pydis_core.async_stats.html b/v10.5.0/output/pydis_core.async_stats.html
index 69dab8d3..84d448e4 100644
--- a/v10.5.0/output/pydis_core.async_stats.html
+++ b/v10.5.0/output/pydis_core.async_stats.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/output/pydis_core.exts.html b/v10.5.0/output/pydis_core.exts.html
index 3a708a9a..e740ade0 100644
--- a/v10.5.0/output/pydis_core.exts.html
+++ b/v10.5.0/output/pydis_core.exts.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/output/pydis_core.html b/v10.5.0/output/pydis_core.html
index 2fca72b6..607f4984 100644
--- a/v10.5.0/output/pydis_core.html
+++ b/v10.5.0/output/pydis_core.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/output/pydis_core.site_api.html b/v10.5.0/output/pydis_core.site_api.html
index 8f858210..d545f416 100644
--- a/v10.5.0/output/pydis_core.site_api.html
+++ b/v10.5.0/output/pydis_core.site_api.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/output/pydis_core.utils.caching.html b/v10.5.0/output/pydis_core.utils.caching.html
index 13926468..0cecc01f 100644
--- a/v10.5.0/output/pydis_core.utils.caching.html
+++ b/v10.5.0/output/pydis_core.utils.caching.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/output/pydis_core.utils.channel.html b/v10.5.0/output/pydis_core.utils.channel.html
index 551d9938..63481471 100644
--- a/v10.5.0/output/pydis_core.utils.channel.html
+++ b/v10.5.0/output/pydis_core.utils.channel.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/output/pydis_core.utils.commands.html b/v10.5.0/output/pydis_core.utils.commands.html
index 835ae7b4..79b0db1c 100644
--- a/v10.5.0/output/pydis_core.utils.commands.html
+++ b/v10.5.0/output/pydis_core.utils.commands.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/output/pydis_core.utils.cooldown.html b/v10.5.0/output/pydis_core.utils.cooldown.html
index 32e4aa29..07489ded 100644
--- a/v10.5.0/output/pydis_core.utils.cooldown.html
+++ b/v10.5.0/output/pydis_core.utils.cooldown.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/output/pydis_core.utils.error_handling.html b/v10.5.0/output/pydis_core.utils.error_handling.html
index 3079528b..8eb18e11 100644
--- a/v10.5.0/output/pydis_core.utils.error_handling.html
+++ b/v10.5.0/output/pydis_core.utils.error_handling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/output/pydis_core.utils.function.html b/v10.5.0/output/pydis_core.utils.function.html
index fa341ad2..266e0a2b 100644
--- a/v10.5.0/output/pydis_core.utils.function.html
+++ b/v10.5.0/output/pydis_core.utils.function.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/output/pydis_core.utils.html b/v10.5.0/output/pydis_core.utils.html
index 8bbc2b05..115f0a37 100644
--- a/v10.5.0/output/pydis_core.utils.html
+++ b/v10.5.0/output/pydis_core.utils.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/output/pydis_core.utils.interactions.html b/v10.5.0/output/pydis_core.utils.interactions.html
index d7feb9e7..8d199929 100644
--- a/v10.5.0/output/pydis_core.utils.interactions.html
+++ b/v10.5.0/output/pydis_core.utils.interactions.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/output/pydis_core.utils.logging.html b/v10.5.0/output/pydis_core.utils.logging.html
index 3d1d8b39..68b3f553 100644
--- a/v10.5.0/output/pydis_core.utils.logging.html
+++ b/v10.5.0/output/pydis_core.utils.logging.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/output/pydis_core.utils.members.html b/v10.5.0/output/pydis_core.utils.members.html
index c0bc44cd..7eeea0a0 100644
--- a/v10.5.0/output/pydis_core.utils.members.html
+++ b/v10.5.0/output/pydis_core.utils.members.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/output/pydis_core.utils.paste_service.html b/v10.5.0/output/pydis_core.utils.paste_service.html
index 2dabae0f..c97b610c 100644
--- a/v10.5.0/output/pydis_core.utils.paste_service.html
+++ b/v10.5.0/output/pydis_core.utils.paste_service.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/output/pydis_core.utils.regex.html b/v10.5.0/output/pydis_core.utils.regex.html
index 959d6f2b..3ad4b2ba 100644
--- a/v10.5.0/output/pydis_core.utils.regex.html
+++ b/v10.5.0/output/pydis_core.utils.regex.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/output/pydis_core.utils.scheduling.html b/v10.5.0/output/pydis_core.utils.scheduling.html
index 5d5f985c..e89b74af 100644
--- a/v10.5.0/output/pydis_core.utils.scheduling.html
+++ b/v10.5.0/output/pydis_core.utils.scheduling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/py-modindex.html b/v10.5.0/py-modindex.html
index c7b33f9b..2173085d 100644
--- a/v10.5.0/py-modindex.html
+++ b/v10.5.0/py-modindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/search.html b/v10.5.0/search.html
index 59a0a3aa..0a5ed894 100644
--- a/v10.5.0/search.html
+++ b/v10.5.0/search.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.5.0/searchindex.js b/v10.5.0/searchindex.js
index 0101dd3f..9cdfbdfc 100644
--- a/v10.5.0/searchindex.js
+++ b/v10.5.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "5": [0, 11], "0": [0, 8, 14, 15], "10th": 0, "decemb": 0, "2023": 0, "support": [0, 4, 7, 19], "197": 0, "mark": 0, "depend": [0, 9], "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "tild": 0, "version": [0, 10], "specifi": [0, 11, 14], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 17, 18, 19], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "allow": [0, 1, 3, 14, 17], "user": [0, 11, 14], "pydi": [0, 2], "core": [0, 1], "newer": 0, "librari": [0, 1], "without": 0, "u": 0, "have": [0, 9, 13, 15], "cut": 0, "new": [0, 1, 4, 6, 8, 13, 19], "releas": 0, "4": 0, "26th": 0, "octob": 0, "196": 0, "bump": 0, "mani": [0, 3, 8], "develop": [0, 2, 3, 7], "aiodn": 0, "3": 0, "1": [0, 15], "19th": 0, "septemb": 0, "featur": [0, 1, 3], "195": 0, "set": [0, 1, 3, 11, 13, 14], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "websocket": 0, "chardet": 0, "async_rediscach": [0, 3], "logger": [0, 15], "warn": [0, 19], "level": [0, 7, 15], "asyncio": [0, 4, 19], "info": [0, 1], "default": [0, 1, 3, 17], "add": [0, 3, 11], "log_format": [0, 3, 7, 15], "pydis_cor": [0, 1, 3, 14, 15], "util": [0, 1, 2, 3, 8, 13, 14, 15], "log": [0, 3, 7, 12, 16, 19], "standardis": [0, 15], "across": [0, 15], "all": [0, 1, 3, 4, 7, 15, 19], "servic": [0, 1, 3, 17], "2": [0, 3, 14], "28th": 0, "august": 0, "192": 0, "py": [0, 3, 13], "25th": 0, "juli": 0, "190": 0, "overwrit": [0, 3], "ext": [0, 2, 3, 7, 9, 10], "command": [0, 1, 3, 7, 9, 11, 13], "bot": [0, 1, 3, 7, 9], "process_command": [0, 2, 3], "ensur": [0, 3, 14, 18], "ar": [0, 1, 3, 8, 13, 14, 18], "process": [0, 3], "until": [0, 3, 18], "extens": [0, 3], "load": [0, 1, 3, 7], "onli": [0, 3], "work": [0, 1], "client": [0, 3, 4], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "14th": 0, "break": [0, 13], "188": 0, "send": [0, 6, 14], "multipl": 0, "file": [0, 1, 17], "onc": [0, 8], "past": [0, 17, 19], "call": [0, 3, 11, 13, 19], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 17], "must": [0, 19], "now": [0, 1, 19], "provid": [0, 1, 8, 10, 12, 19], "list": [0, 1, 3, 17], "pastefil": [0, 3, 7, 17], "184": 0, "remov": [0, 3, 14, 17], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "store": [0, 7, 8], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 14], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "stop": [0, 7, 14], "addit": 0, "exist": [0, 1, 19], "logic": 0, "timeout": [0, 14], "bug": 0, "187": 0, "fix": 0, "channel": [0, 3, 7, 11], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "includ": [0, 1, 12], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "9": 0, "2nd": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "lexer": [0, 17], "valid": 0, "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "7": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "schedul": [0, 3, 7], "179": 0, "upload": [0, 17], "text": [0, 6, 10, 17], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "cog": [0, 3, 5], "march": 0, "174": 0, "februari": 0, "173": 0, "9th": 0, "172": 0, "24th": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 14, 19], "been": 0, "also": [0, 7, 13, 14], "need": [0, 1], "run": [0, 1, 11, 19], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "button": [0, 14], "press": 0, "88": 0, "decor": [0, 8, 11, 13], "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "157": 0, "renam": 0, "project": [0, 1, 15], "publish": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": [0, 17], "rc2": 0, "107": 0, "declar": 0, "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "108": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "104": 0, "deletemessagebutton": [0, 3, 7, 14], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14, 17], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 15, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": [1, 17], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 15, 17, 19], "comma": 1, "seper": 1, "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "other": [1, 19], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 17, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 13], "check": [3, 6, 9, 11, 12, 14, 19], "relev": 3, "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 17, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": [6, 17], "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11, 17], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "rather": 7, "than": [7, 17], "It": 7, "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "model_computed_field": [7, 17], "model_config": [7, 17], "model_field": [7, 17], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": [11, 17], "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": [11, 17], "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": [13, 17], "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": [13, 17], "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "listen": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "formatt": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "data": 17, "basemodel": 17, "format": [17, 18], "classvar": 17, "computedfieldinfo": 17, "dictionari": 17, "comput": 17, "field": 17, "correspond": 17, "configdict": 17, "model": 17, "conform": 17, "pydant": 17, "config": 17, "fieldinfo": 17, "metadata": 17, "defin": 17, "map": 17, "__fields__": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "execut": 19, "keep": 19, "track": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"], [14, 2, 1, "", "stop"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"], [15, 5, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteFile"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data", "6": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"], "6": ["py", "attribute", "Python attribute"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 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": {"channel": [[9, "module-pydis_core.utils.channel"]], "site_api": [[6, "module-pydis_core.site_api"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Exts": [[5, "module-pydis_core.exts"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Changelog": [[0, "changelog"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "logging": [[15, "module-pydis_core.utils.logging"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "regex": [[18, "module-pydis_core.utils.regex"]], "members": [[16, "module-pydis_core.utils.members"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "commands": [[10, "module-pydis_core.utils.commands"]], "function": [[13, "module-pydis_core.utils.function"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "log_format (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.log_format"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "5": [0, 11], "0": [0, 8, 14, 15], "10th": 0, "decemb": 0, "2023": 0, "support": [0, 4, 7, 19], "197": 0, "mark": 0, "depend": [0, 9], "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "tild": 0, "version": [0, 10], "specifi": [0, 11, 14], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 17, 18, 19], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "allow": [0, 1, 3, 14, 17], "user": [0, 11, 14], "pydi": [0, 2], "core": [0, 1], "newer": 0, "librari": [0, 1], "without": 0, "u": 0, "have": [0, 9, 13, 15], "cut": 0, "new": [0, 1, 4, 6, 8, 13, 19], "releas": 0, "4": 0, "26th": 0, "octob": 0, "196": 0, "bump": 0, "mani": [0, 3, 8], "develop": [0, 2, 3, 7], "aiodn": 0, "3": 0, "1": [0, 15], "19th": 0, "septemb": 0, "featur": [0, 1, 3], "195": 0, "set": [0, 1, 3, 11, 13, 14], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "websocket": 0, "chardet": 0, "async_rediscach": [0, 3], "logger": [0, 15], "warn": [0, 19], "level": [0, 7, 15], "asyncio": [0, 4, 19], "info": [0, 1], "default": [0, 1, 3, 17], "add": [0, 3, 11], "log_format": [0, 3, 7, 15], "pydis_cor": [0, 1, 3, 14, 15], "util": [0, 1, 2, 3, 8, 13, 14, 15], "log": [0, 3, 7, 12, 16, 19], "standardis": [0, 15], "across": [0, 15], "all": [0, 1, 3, 4, 7, 15, 19], "servic": [0, 1, 3, 17], "2": [0, 3, 14], "28th": 0, "august": 0, "192": 0, "py": [0, 3, 13], "25th": 0, "juli": 0, "190": 0, "overwrit": [0, 3], "ext": [0, 2, 3, 7, 9, 10], "command": [0, 1, 3, 7, 9, 11, 13], "bot": [0, 1, 3, 7, 9], "process_command": [0, 2, 3], "ensur": [0, 3, 14, 18], "ar": [0, 1, 3, 8, 13, 14, 18], "process": [0, 3], "until": [0, 3, 18], "extens": [0, 3], "load": [0, 1, 3, 7], "onli": [0, 3], "work": [0, 1], "client": [0, 3, 4], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "14th": 0, "break": [0, 13], "188": 0, "send": [0, 6, 14], "multipl": 0, "file": [0, 1, 17], "onc": [0, 8], "past": [0, 17, 19], "call": [0, 3, 11, 13, 19], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 17], "must": [0, 19], "now": [0, 1, 19], "provid": [0, 1, 8, 10, 12, 19], "list": [0, 1, 3, 17], "pastefil": [0, 3, 7, 17], "184": 0, "remov": [0, 3, 14, 17], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "store": [0, 7, 8], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 14], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "stop": [0, 7, 14], "addit": 0, "exist": [0, 1, 19], "logic": 0, "timeout": [0, 14], "bug": 0, "187": 0, "fix": 0, "channel": [0, 3, 7, 11], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "includ": [0, 1, 12], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "9": 0, "2nd": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "lexer": [0, 17], "valid": 0, "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "7": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "schedul": [0, 3, 7], "179": 0, "upload": [0, 17], "text": [0, 6, 10, 17], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "cog": [0, 3, 5], "march": 0, "174": 0, "februari": 0, "173": 0, "9th": 0, "172": 0, "24th": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 14, 19], "been": 0, "also": [0, 7, 13, 14], "need": [0, 1], "run": [0, 1, 11, 19], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "button": [0, 14], "press": 0, "88": 0, "decor": [0, 8, 11, 13], "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "157": 0, "renam": 0, "project": [0, 1, 15], "publish": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": [0, 17], "rc2": 0, "107": 0, "declar": 0, "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "108": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "104": 0, "deletemessagebutton": [0, 3, 7, 14], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14, 17], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 15, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": [1, 17], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 15, 17, 19], "comma": 1, "seper": 1, "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "other": [1, 19], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 17, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 13], "check": [3, 6, 9, 11, 12, 14, 19], "relev": 3, "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 17, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": [6, 17], "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11, 17], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "rather": 7, "than": [7, 17], "It": 7, "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "model_computed_field": [7, 17], "model_config": [7, 17], "model_field": [7, 17], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": [11, 17], "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": [11, 17], "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": [13, 17], "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": [13, 17], "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "listen": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "formatt": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "data": 17, "basemodel": 17, "format": [17, 18], "classvar": 17, "computedfieldinfo": 17, "dictionari": 17, "comput": 17, "field": 17, "correspond": 17, "configdict": 17, "model": 17, "conform": 17, "pydant": 17, "config": 17, "fieldinfo": 17, "metadata": 17, "defin": 17, "map": 17, "__fields__": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "execut": 19, "keep": 19, "track": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"], [14, 2, 1, "", "stop"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"], [15, 5, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteFile"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data", "6": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"], "6": ["py", "attribute", "Python attribute"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"caching": [[8, "module-pydis_core.utils.caching"]], "Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "channel": [[9, "module-pydis_core.utils.channel"]], "members": [[16, "module-pydis_core.utils.members"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "regex": [[18, "module-pydis_core.utils.regex"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "logging": [[15, "module-pydis_core.utils.logging"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Changelog": [[0, "changelog"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "commands": [[10, "module-pydis_core.utils.commands"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "function": [[13, "module-pydis_core.utils.function"]], "interactions": [[14, "module-pydis_core.utils.interactions"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "log_format (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.log_format"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v10.5.0/versions.html b/v10.5.0/versions.html
index 5eaa24a9..4bd7062d 100644
--- a/v10.5.0/versions.html
+++ b/v10.5.0/versions.html
@@ -275,6 +275,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -478,6 +482,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v10.5.1/.buildinfo b/v10.5.1/.buildinfo
index 76342ef2..ed3c1c12 100644
--- a/v10.5.1/.buildinfo
+++ b/v10.5.1/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 598fdb21c985fefc75e46b745334bec2
+config: dc93e5d4c3c079e667eb5f29eafae0a1
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v10.5.1/changelog.html b/v10.5.1/changelog.html
index a3135866..0a536d24 100644
--- a/v10.5.1/changelog.html
+++ b/v10.5.1/changelog.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/development.html b/v10.5.1/development.html
index 1de8211d..21183a71 100644
--- a/v10.5.1/development.html
+++ b/v10.5.1/development.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/genindex.html b/v10.5.1/genindex.html
index 7e868139..864ce85a 100644
--- a/v10.5.1/genindex.html
+++ b/v10.5.1/genindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/index.html b/v10.5.1/index.html
index 7e0375f9..35e50b8a 100644
--- a/v10.5.1/index.html
+++ b/v10.5.1/index.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/output/pydis_core.async_stats.html b/v10.5.1/output/pydis_core.async_stats.html
index 3c895f94..5a6d9407 100644
--- a/v10.5.1/output/pydis_core.async_stats.html
+++ b/v10.5.1/output/pydis_core.async_stats.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/output/pydis_core.exts.html b/v10.5.1/output/pydis_core.exts.html
index 0f791bf1..6aabcd94 100644
--- a/v10.5.1/output/pydis_core.exts.html
+++ b/v10.5.1/output/pydis_core.exts.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/output/pydis_core.html b/v10.5.1/output/pydis_core.html
index 7e1a3bdc..980bcf76 100644
--- a/v10.5.1/output/pydis_core.html
+++ b/v10.5.1/output/pydis_core.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/output/pydis_core.site_api.html b/v10.5.1/output/pydis_core.site_api.html
index 3166a935..b4f7976d 100644
--- a/v10.5.1/output/pydis_core.site_api.html
+++ b/v10.5.1/output/pydis_core.site_api.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/output/pydis_core.utils.caching.html b/v10.5.1/output/pydis_core.utils.caching.html
index 7f9ae2c5..0ed129ab 100644
--- a/v10.5.1/output/pydis_core.utils.caching.html
+++ b/v10.5.1/output/pydis_core.utils.caching.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/output/pydis_core.utils.channel.html b/v10.5.1/output/pydis_core.utils.channel.html
index 410cbdd7..935f4dd5 100644
--- a/v10.5.1/output/pydis_core.utils.channel.html
+++ b/v10.5.1/output/pydis_core.utils.channel.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/output/pydis_core.utils.commands.html b/v10.5.1/output/pydis_core.utils.commands.html
index b4d1f7e9..b19fef7d 100644
--- a/v10.5.1/output/pydis_core.utils.commands.html
+++ b/v10.5.1/output/pydis_core.utils.commands.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/output/pydis_core.utils.cooldown.html b/v10.5.1/output/pydis_core.utils.cooldown.html
index 25d5db4f..61b9c27e 100644
--- a/v10.5.1/output/pydis_core.utils.cooldown.html
+++ b/v10.5.1/output/pydis_core.utils.cooldown.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/output/pydis_core.utils.error_handling.html b/v10.5.1/output/pydis_core.utils.error_handling.html
index aa30e428..e785c035 100644
--- a/v10.5.1/output/pydis_core.utils.error_handling.html
+++ b/v10.5.1/output/pydis_core.utils.error_handling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/output/pydis_core.utils.function.html b/v10.5.1/output/pydis_core.utils.function.html
index 6e630699..5acf0282 100644
--- a/v10.5.1/output/pydis_core.utils.function.html
+++ b/v10.5.1/output/pydis_core.utils.function.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/output/pydis_core.utils.html b/v10.5.1/output/pydis_core.utils.html
index fa6172a6..233a60e8 100644
--- a/v10.5.1/output/pydis_core.utils.html
+++ b/v10.5.1/output/pydis_core.utils.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/output/pydis_core.utils.interactions.html b/v10.5.1/output/pydis_core.utils.interactions.html
index d46284b6..1092666a 100644
--- a/v10.5.1/output/pydis_core.utils.interactions.html
+++ b/v10.5.1/output/pydis_core.utils.interactions.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/output/pydis_core.utils.logging.html b/v10.5.1/output/pydis_core.utils.logging.html
index abd5eefa..d9654b07 100644
--- a/v10.5.1/output/pydis_core.utils.logging.html
+++ b/v10.5.1/output/pydis_core.utils.logging.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/output/pydis_core.utils.members.html b/v10.5.1/output/pydis_core.utils.members.html
index 5402700f..5d8da615 100644
--- a/v10.5.1/output/pydis_core.utils.members.html
+++ b/v10.5.1/output/pydis_core.utils.members.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/output/pydis_core.utils.paste_service.html b/v10.5.1/output/pydis_core.utils.paste_service.html
index a798c20c..d8659f29 100644
--- a/v10.5.1/output/pydis_core.utils.paste_service.html
+++ b/v10.5.1/output/pydis_core.utils.paste_service.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/output/pydis_core.utils.regex.html b/v10.5.1/output/pydis_core.utils.regex.html
index 54b796bb..6441b38e 100644
--- a/v10.5.1/output/pydis_core.utils.regex.html
+++ b/v10.5.1/output/pydis_core.utils.regex.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/output/pydis_core.utils.scheduling.html b/v10.5.1/output/pydis_core.utils.scheduling.html
index 7962eab0..3e937f66 100644
--- a/v10.5.1/output/pydis_core.utils.scheduling.html
+++ b/v10.5.1/output/pydis_core.utils.scheduling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/py-modindex.html b/v10.5.1/py-modindex.html
index feb1cd14..2c0d20c4 100644
--- a/v10.5.1/py-modindex.html
+++ b/v10.5.1/py-modindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/search.html b/v10.5.1/search.html
index da8cff3b..2b6c5580 100644
--- a/v10.5.1/search.html
+++ b/v10.5.1/search.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.5.1/searchindex.js b/v10.5.1/searchindex.js
index 31980cca..2629d17a 100644
--- a/v10.5.1/searchindex.js
+++ b/v10.5.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "5": [0, 11], "1": [0, 15], "14th": 0, "decemb": 0, "2023": 0, "bug": 0, "200": 0, "do": [0, 1, 9], "attempt": [0, 3, 9, 16], "read": 0, "respons": [0, 6, 17], "bodi": 0, "http": [0, 6, 17, 18], "code": [0, 1, 6, 18], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "204": [0, 6], "previous": 0, "onli": [0, 3], "pydis_cor": [0, 1, 3, 14, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "delet": [0, 3, 6, 8, 14, 17], "did": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 17, 18, 19], "0": [0, 8, 14, 15], "10th": 0, "support": [0, 4, 7, 19], "197": 0, "mark": 0, "depend": [0, 9], "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "tild": 0, "version": [0, 10], "specifi": [0, 11, 14], "allow": [0, 1, 3, 14, 17], "user": [0, 11, 14], "pydi": [0, 2], "core": [0, 1], "newer": 0, "librari": [0, 1], "without": 0, "u": 0, "have": [0, 9, 13, 15], "cut": 0, "new": [0, 1, 4, 6, 8, 13, 19], "releas": 0, "4": 0, "26th": 0, "octob": 0, "196": 0, "bump": 0, "mani": [0, 3, 8], "develop": [0, 2, 3, 7], "aiodn": 0, "3": 0, "19th": 0, "septemb": 0, "featur": [0, 1, 3], "195": 0, "set": [0, 1, 3, 11, 13, 14], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "websocket": 0, "chardet": 0, "async_rediscach": [0, 3], "logger": [0, 15], "warn": [0, 19], "level": [0, 7, 15], "asyncio": [0, 4, 19], "info": [0, 1], "default": [0, 1, 3, 17], "add": [0, 3, 11], "log_format": [0, 3, 7, 15], "util": [0, 1, 2, 3, 8, 13, 14, 15], "log": [0, 3, 7, 12, 16, 19], "standardis": [0, 15], "across": [0, 15], "all": [0, 1, 3, 4, 7, 15, 19], "servic": [0, 1, 3, 17], "2": [0, 3, 14], "28th": 0, "august": 0, "192": 0, "py": [0, 3, 13], "25th": 0, "juli": 0, "190": 0, "overwrit": [0, 3], "ext": [0, 2, 3, 7, 9, 10], "command": [0, 1, 3, 7, 9, 11, 13], "bot": [0, 1, 3, 7, 9], "process_command": [0, 2, 3], "ensur": [0, 3, 14, 18], "ar": [0, 1, 3, 8, 13, 14, 18], "process": [0, 3], "until": [0, 3, 18], "extens": [0, 3], "load": [0, 1, 3, 7], "work": [0, 1], "client": [0, 3, 4], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "break": [0, 13], "188": 0, "send": [0, 6, 14], "multipl": 0, "file": [0, 1, 17], "onc": [0, 8], "past": [0, 17, 19], "call": [0, 3, 11, 13, 19], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 17], "must": [0, 19], "now": [0, 1, 19], "provid": [0, 1, 8, 10, 12, 19], "list": [0, 1, 3, 17], "pastefil": [0, 3, 7, 17], "184": 0, "remov": [0, 3, 14, 17], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "store": [0, 7, 8], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 14], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "stop": [0, 7, 14], "addit": 0, "exist": [0, 1, 19], "logic": 0, "timeout": [0, 14], "187": 0, "fix": 0, "channel": [0, 3, 7, 11], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "includ": [0, 1, 12], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "9": 0, "2nd": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "lexer": [0, 17], "valid": 0, "pastebin": 0, "url": [0, 3, 6, 17], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "7": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "schedul": [0, 3, 7], "179": 0, "upload": [0, 17], "text": [0, 6, 10, 17], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "cog": [0, 3, 5], "march": 0, "174": 0, "februari": 0, "173": 0, "9th": 0, "172": 0, "24th": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 14, 19], "been": 0, "also": [0, 7, 13, 14], "need": [0, 1], "run": [0, 1, 11, 19], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "button": [0, 14], "press": 0, "88": 0, "decor": [0, 8, 11, 13], "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "157": 0, "renam": 0, "project": [0, 1, 15], "publish": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": [0, 17], "rc2": 0, "107": 0, "declar": 0, "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "108": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "104": 0, "deletemessagebutton": [0, 3, 7, 14], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14, 17], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 15, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": [1, 17], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 15, 17, 19], "comma": 1, "seper": 1, "id": [1, 3, 9, 14, 19], "anyth": [1, 17], "reinstal": 1, "other": [1, 19], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 17, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 13], "check": [3, 6, 9, 11, 12, 14, 19], "relev": 3, "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 17, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "equival": 6, "dict": [6, 17], "static": 6, "should_rais": 6, "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "non": 6, "ok": 6, "clientrespons": 6, "json": 6, "ani": [6, 18, 19], "extra": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11, 17], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "rather": 7, "than": [7, 17], "It": 7, "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "model_computed_field": [7, 17], "model_config": [7, 17], "model_field": [7, 17], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": [11, 17], "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": [11, 17], "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": [13, 17], "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": [13, 17], "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "listen": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "formatt": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "data": 17, "basemodel": 17, "format": [17, 18], "classvar": 17, "computedfieldinfo": 17, "dictionari": 17, "comput": 17, "field": 17, "correspond": 17, "configdict": 17, "model": 17, "conform": 17, "pydant": 17, "config": 17, "fieldinfo": 17, "metadata": 17, "defin": 17, "map": 17, "__fields__": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "execut": 19, "keep": 19, "track": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"], [14, 2, 1, "", "stop"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"], [15, 5, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteFile"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data", "6": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"], "6": ["py", "attribute", "Python attribute"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 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": {"Exts": [[5, "module-pydis_core.exts"]], "channel": [[9, "module-pydis_core.utils.channel"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "regex": [[18, "module-pydis_core.utils.regex"]], "members": [[16, "module-pydis_core.utils.members"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "logging": [[15, "module-pydis_core.utils.logging"]], "function": [[13, "module-pydis_core.utils.function"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "commands": [[10, "module-pydis_core.utils.commands"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "log_format (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.log_format"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "5": [0, 11], "1": [0, 15], "14th": 0, "decemb": 0, "2023": 0, "bug": 0, "200": 0, "do": [0, 1, 9], "attempt": [0, 3, 9, 16], "read": 0, "respons": [0, 6, 17], "bodi": 0, "http": [0, 6, 17, 18], "code": [0, 1, 6, 18], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "204": [0, 6], "previous": 0, "onli": [0, 3], "pydis_cor": [0, 1, 3, 14, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "delet": [0, 3, 6, 8, 14, 17], "did": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 17, 18, 19], "0": [0, 8, 14, 15], "10th": 0, "support": [0, 4, 7, 19], "197": 0, "mark": 0, "depend": [0, 9], "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "tild": 0, "version": [0, 10], "specifi": [0, 11, 14], "allow": [0, 1, 3, 14, 17], "user": [0, 11, 14], "pydi": [0, 2], "core": [0, 1], "newer": 0, "librari": [0, 1], "without": 0, "u": 0, "have": [0, 9, 13, 15], "cut": 0, "new": [0, 1, 4, 6, 8, 13, 19], "releas": 0, "4": 0, "26th": 0, "octob": 0, "196": 0, "bump": 0, "mani": [0, 3, 8], "develop": [0, 2, 3, 7], "aiodn": 0, "3": 0, "19th": 0, "septemb": 0, "featur": [0, 1, 3], "195": 0, "set": [0, 1, 3, 11, 13, 14], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "websocket": 0, "chardet": 0, "async_rediscach": [0, 3], "logger": [0, 15], "warn": [0, 19], "level": [0, 7, 15], "asyncio": [0, 4, 19], "info": [0, 1], "default": [0, 1, 3, 17], "add": [0, 3, 11], "log_format": [0, 3, 7, 15], "util": [0, 1, 2, 3, 8, 13, 14, 15], "log": [0, 3, 7, 12, 16, 19], "standardis": [0, 15], "across": [0, 15], "all": [0, 1, 3, 4, 7, 15, 19], "servic": [0, 1, 3, 17], "2": [0, 3, 14], "28th": 0, "august": 0, "192": 0, "py": [0, 3, 13], "25th": 0, "juli": 0, "190": 0, "overwrit": [0, 3], "ext": [0, 2, 3, 7, 9, 10], "command": [0, 1, 3, 7, 9, 11, 13], "bot": [0, 1, 3, 7, 9], "process_command": [0, 2, 3], "ensur": [0, 3, 14, 18], "ar": [0, 1, 3, 8, 13, 14, 18], "process": [0, 3], "until": [0, 3, 18], "extens": [0, 3], "load": [0, 1, 3, 7], "work": [0, 1], "client": [0, 3, 4], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "break": [0, 13], "188": 0, "send": [0, 6, 14], "multipl": 0, "file": [0, 1, 17], "onc": [0, 8], "past": [0, 17, 19], "call": [0, 3, 11, 13, 19], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 17], "must": [0, 19], "now": [0, 1, 19], "provid": [0, 1, 8, 10, 12, 19], "list": [0, 1, 3, 17], "pastefil": [0, 3, 7, 17], "184": 0, "remov": [0, 3, 14, 17], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "store": [0, 7, 8], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 14], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "stop": [0, 7, 14], "addit": 0, "exist": [0, 1, 19], "logic": 0, "timeout": [0, 14], "187": 0, "fix": 0, "channel": [0, 3, 7, 11], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "includ": [0, 1, 12], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "9": 0, "2nd": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "lexer": [0, 17], "valid": 0, "pastebin": 0, "url": [0, 3, 6, 17], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "7": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "schedul": [0, 3, 7], "179": 0, "upload": [0, 17], "text": [0, 6, 10, 17], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "cog": [0, 3, 5], "march": 0, "174": 0, "februari": 0, "173": 0, "9th": 0, "172": 0, "24th": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 14, 19], "been": 0, "also": [0, 7, 13, 14], "need": [0, 1], "run": [0, 1, 11, 19], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "button": [0, 14], "press": 0, "88": 0, "decor": [0, 8, 11, 13], "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "157": 0, "renam": 0, "project": [0, 1, 15], "publish": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": [0, 17], "rc2": 0, "107": 0, "declar": 0, "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "108": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "104": 0, "deletemessagebutton": [0, 3, 7, 14], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14, 17], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 15, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": [1, 17], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 15, 17, 19], "comma": 1, "seper": 1, "id": [1, 3, 9, 14, 19], "anyth": [1, 17], "reinstal": 1, "other": [1, 19], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 17, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 13], "check": [3, 6, 9, 11, 12, 14, 19], "relev": 3, "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 17, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "equival": 6, "dict": [6, 17], "static": 6, "should_rais": 6, "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "non": 6, "ok": 6, "clientrespons": 6, "json": 6, "ani": [6, 18, 19], "extra": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11, 17], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "rather": 7, "than": [7, 17], "It": 7, "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "model_computed_field": [7, 17], "model_config": [7, 17], "model_field": [7, 17], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": [11, 17], "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": [11, 17], "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": [13, 17], "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": [13, 17], "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "listen": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "formatt": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "data": 17, "basemodel": 17, "format": [17, 18], "classvar": 17, "computedfieldinfo": 17, "dictionari": 17, "comput": 17, "field": 17, "correspond": 17, "configdict": 17, "model": 17, "conform": 17, "pydant": 17, "config": 17, "fieldinfo": 17, "metadata": 17, "defin": 17, "map": 17, "__fields__": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "execut": 19, "keep": 19, "track": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"], [14, 2, 1, "", "stop"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"], [15, 5, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteFile"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[17, 6, 1, "", "model_computed_fields"], [17, 6, 1, "", "model_config"], [17, 6, 1, "", "model_fields"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data", "6": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"], "6": ["py", "attribute", "Python attribute"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"caching": [[8, "module-pydis_core.utils.caching"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "channel": [[9, "module-pydis_core.utils.channel"]], "Exts": [[5, "module-pydis_core.exts"]], "site_api": [[6, "module-pydis_core.site_api"]], "regex": [[18, "module-pydis_core.utils.regex"]], "logging": [[15, "module-pydis_core.utils.logging"]], "members": [[16, "module-pydis_core.utils.members"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "function": [[13, "module-pydis_core.utils.function"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "commands": [[10, "module-pydis_core.utils.commands"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "log_format (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.log_format"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[17, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[17, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v10.5.1/versions.html b/v10.5.1/versions.html
index dddab8e0..71ded47a 100644
--- a/v10.5.1/versions.html
+++ b/v10.5.1/versions.html
@@ -275,6 +275,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -478,6 +482,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v10.6.0/.buildinfo b/v10.6.0/.buildinfo
index 1d7a8a46..3e39908f 100644
--- a/v10.6.0/.buildinfo
+++ b/v10.6.0/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: c129336da90fab7605db89b9b06d6329
+config: 3d87b0c667c36e00f8d54b79806cb1cb
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v10.6.0/changelog.html b/v10.6.0/changelog.html
index 2efff5d8..e3fb722d 100644
--- a/v10.6.0/changelog.html
+++ b/v10.6.0/changelog.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/development.html b/v10.6.0/development.html
index 0ffc850a..6eef4c18 100644
--- a/v10.6.0/development.html
+++ b/v10.6.0/development.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/genindex.html b/v10.6.0/genindex.html
index 9f2c693a..33e9b901 100644
--- a/v10.6.0/genindex.html
+++ b/v10.6.0/genindex.html
@@ -277,6 +277,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/index.html b/v10.6.0/index.html
index fea761ad..4fd64ba5 100644
--- a/v10.6.0/index.html
+++ b/v10.6.0/index.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.async_stats.html b/v10.6.0/output/pydis_core.async_stats.html
index 3a4b9b1e..8f2c5fcb 100644
--- a/v10.6.0/output/pydis_core.async_stats.html
+++ b/v10.6.0/output/pydis_core.async_stats.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.exts.html b/v10.6.0/output/pydis_core.exts.html
index 6ef4df9d..44ec3de0 100644
--- a/v10.6.0/output/pydis_core.exts.html
+++ b/v10.6.0/output/pydis_core.exts.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.html b/v10.6.0/output/pydis_core.html
index d8daa281..40b68053 100644
--- a/v10.6.0/output/pydis_core.html
+++ b/v10.6.0/output/pydis_core.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.site_api.html b/v10.6.0/output/pydis_core.site_api.html
index 58dc3f18..e8d22935 100644
--- a/v10.6.0/output/pydis_core.site_api.html
+++ b/v10.6.0/output/pydis_core.site_api.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.utils.caching.html b/v10.6.0/output/pydis_core.utils.caching.html
index 77199bac..d25c24e4 100644
--- a/v10.6.0/output/pydis_core.utils.caching.html
+++ b/v10.6.0/output/pydis_core.utils.caching.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.utils.channel.html b/v10.6.0/output/pydis_core.utils.channel.html
index 8ed3fe7e..e0cb415d 100644
--- a/v10.6.0/output/pydis_core.utils.channel.html
+++ b/v10.6.0/output/pydis_core.utils.channel.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.utils.checks.html b/v10.6.0/output/pydis_core.utils.checks.html
index 418cd94f..8810fc60 100644
--- a/v10.6.0/output/pydis_core.utils.checks.html
+++ b/v10.6.0/output/pydis_core.utils.checks.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.checks.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.checks.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.utils.commands.html b/v10.6.0/output/pydis_core.utils.commands.html
index 31c6b839..d6f2cdaa 100644
--- a/v10.6.0/output/pydis_core.utils.commands.html
+++ b/v10.6.0/output/pydis_core.utils.commands.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.utils.cooldown.html b/v10.6.0/output/pydis_core.utils.cooldown.html
index c2ceac00..325cada8 100644
--- a/v10.6.0/output/pydis_core.utils.cooldown.html
+++ b/v10.6.0/output/pydis_core.utils.cooldown.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.utils.error_handling.html b/v10.6.0/output/pydis_core.utils.error_handling.html
index 038a4a4c..62373b34 100644
--- a/v10.6.0/output/pydis_core.utils.error_handling.html
+++ b/v10.6.0/output/pydis_core.utils.error_handling.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.utils.function.html b/v10.6.0/output/pydis_core.utils.function.html
index b3d8cfe0..f56da225 100644
--- a/v10.6.0/output/pydis_core.utils.function.html
+++ b/v10.6.0/output/pydis_core.utils.function.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.utils.html b/v10.6.0/output/pydis_core.utils.html
index c1466195..a3dc0606 100644
--- a/v10.6.0/output/pydis_core.utils.html
+++ b/v10.6.0/output/pydis_core.utils.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.utils.interactions.html b/v10.6.0/output/pydis_core.utils.interactions.html
index 1954cced..f69cc52e 100644
--- a/v10.6.0/output/pydis_core.utils.interactions.html
+++ b/v10.6.0/output/pydis_core.utils.interactions.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.utils.logging.html b/v10.6.0/output/pydis_core.utils.logging.html
index aed670d5..14a777cb 100644
--- a/v10.6.0/output/pydis_core.utils.logging.html
+++ b/v10.6.0/output/pydis_core.utils.logging.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.utils.members.html b/v10.6.0/output/pydis_core.utils.members.html
index 9f08b5e0..569de5fe 100644
--- a/v10.6.0/output/pydis_core.utils.members.html
+++ b/v10.6.0/output/pydis_core.utils.members.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.utils.messages.html b/v10.6.0/output/pydis_core.utils.messages.html
index f417e18c..237bf390 100644
--- a/v10.6.0/output/pydis_core.utils.messages.html
+++ b/v10.6.0/output/pydis_core.utils.messages.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.messages.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.messages.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.utils.pagination.html b/v10.6.0/output/pydis_core.utils.pagination.html
index 3f9a1bc7..809472fb 100644
--- a/v10.6.0/output/pydis_core.utils.pagination.html
+++ b/v10.6.0/output/pydis_core.utils.pagination.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.pagination.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.pagination.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.utils.paste_service.html b/v10.6.0/output/pydis_core.utils.paste_service.html
index f5d8e589..c4e17030 100644
--- a/v10.6.0/output/pydis_core.utils.paste_service.html
+++ b/v10.6.0/output/pydis_core.utils.paste_service.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.utils.regex.html b/v10.6.0/output/pydis_core.utils.regex.html
index 09de9d00..c1686424 100644
--- a/v10.6.0/output/pydis_core.utils.regex.html
+++ b/v10.6.0/output/pydis_core.utils.regex.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/output/pydis_core.utils.scheduling.html b/v10.6.0/output/pydis_core.utils.scheduling.html
index 05b83a50..44f462be 100644
--- a/v10.6.0/output/pydis_core.utils.scheduling.html
+++ b/v10.6.0/output/pydis_core.utils.scheduling.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/py-modindex.html b/v10.6.0/py-modindex.html
index 37125c7c..63ac4025 100644
--- a/v10.6.0/py-modindex.html
+++ b/v10.6.0/py-modindex.html
@@ -277,6 +277,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/search.html b/v10.6.0/search.html
index 0cf27bfb..007c561e 100644
--- a/v10.6.0/search.html
+++ b/v10.6.0/search.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.6.0/searchindex.js b/v10.6.0/searchindex.js
index 643d2565..74aab1fe 100644
--- a/v10.6.0/searchindex.js
+++ b/v10.6.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.checks", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.messages", "output/pydis_core.utils.pagination", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.checks.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.messages.rst", "output/pydis_core.utils.pagination.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "checks", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "messages", "pagination", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "6": 0, "0": [0, 8, 10, 15, 16], "30th": 0, "januari": 0, "2024": 0, "featur": [0, 1, 3], "199": 0, "port": [0, 4], "common": [0, 1, 3, 7, 16, 21], "discord": [0, 1, 3, 5, 7, 9, 10, 11, 13, 14, 17, 19, 21], "command": [0, 1, 3, 7, 9, 10, 12, 14, 19], "check": [0, 3, 6, 7, 9, 12, 13, 15, 18, 22], "from": [0, 1, 3, 4, 6, 7, 9, 14, 15, 17, 19, 20, 22], "other": [0, 1, 22], "bot": [0, 1, 3, 7, 9, 18], "pydis_cor": [0, 1, 3, 15, 16], "util": [0, 1, 2, 3, 8, 14, 15, 16], "189": 0, "add": [0, 3, 10, 12, 19], "messag": [0, 3, 7, 11, 12, 13, 15, 16, 19, 22], "reaction_check": [0, 3, 7, 18], "predic": 0, "dictat": 0, "whether": [0, 3, 6, 9, 10, 19], "user": [0, 3, 10, 12, 15, 18, 19], "ha": [0, 7, 10], "right": [0, 3, 19], "specif": [0, 10], "set": [0, 1, 3, 12, 14, 15, 19], "reaction": [0, 3, 18, 19], "base": [0, 3, 4, 6, 8, 10, 12, 14, 15, 16, 19, 20, 22], "certain": [0, 1], "criteria": 0, "pagin": [0, 2, 3, 7], "linepagin": [0, 2, 3, 7, 19], "which": [0, 1, 3, 7, 10, 12, 19, 22], "allow": [0, 1, 3, 15, 18, 19, 20], "over": [0, 3, 19], "content": [0, 3, 11, 19, 20], "us": [0, 1, 3, 4, 6, 7, 9, 10, 12, 14, 16, 17, 19, 20, 21, 22], "emb": [0, 3, 19], "emoji": [0, 3, 18, 19], "facilit": 0, "navig": [0, 1, 3, 19], "5": [0, 12], "1": [0, 16], "14th": 0, "decemb": 0, "2023": 0, "bug": 0, "200": 0, "do": [0, 1, 9], "attempt": [0, 3, 9, 17, 19], "read": 0, "respons": [0, 6, 20], "bodi": 0, "http": [0, 6, 20, 21], "code": [0, 1, 3, 6, 19, 21], "i": [0, 1, 3, 6, 7, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "204": [0, 6], "previous": 0, "onli": [0, 3], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "delet": [0, 3, 6, 8, 15, 19, 20], "did": 0, "thi": [0, 1, 3, 7, 9, 10, 12, 14, 15, 17, 19, 20, 21, 22], "10th": 0, "support": [0, 4, 7, 22], "197": 0, "mark": 0, "depend": [0, 9], "tild": 0, "version": [0, 11], "specifi": [0, 10, 12, 15], "pydi": [0, 2], "core": [0, 1], "newer": 0, "librari": [0, 1], "without": [0, 10], "u": [0, 3, 19], "have": [0, 9, 10, 14, 16], "cut": 0, "new": [0, 1, 3, 4, 6, 8, 14, 19, 22], "releas": 0, "4": 0, "26th": 0, "octob": 0, "196": 0, "bump": 0, "mani": [0, 3, 8], "develop": [0, 2, 3, 7], "aiodn": 0, "3": 0, "19th": 0, "septemb": 0, "195": 0, "websocket": 0, "chardet": 0, "async_rediscach": [0, 3], "logger": [0, 16], "warn": [0, 22], "level": [0, 7, 16], "asyncio": [0, 4, 22], "info": [0, 1], "default": [0, 1, 3, 10, 19, 20], "log_format": [0, 3, 7, 16], "log": [0, 3, 7, 13, 17, 22], "standardis": [0, 16], "across": [0, 3, 16, 19], "all": [0, 1, 3, 4, 7, 16, 22], "servic": [0, 1, 3, 20], "2": [0, 3, 15], "28th": 0, "august": 0, "192": 0, "py": [0, 3, 14], "25th": 0, "juli": 0, "190": 0, "overwrit": [0, 3], "ext": [0, 2, 3, 7, 9, 10, 11, 19], "process_command": [0, 2, 3], "ensur": [0, 3, 15, 21], "ar": [0, 1, 3, 8, 14, 15, 18, 19, 21], "process": [0, 3], "until": [0, 3, 21], "extens": [0, 3], "load": [0, 1, 3, 7], "work": [0, 1], "client": [0, 3, 4], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "break": [0, 3, 14, 19], "188": 0, "send": [0, 3, 6, 15, 19], "multipl": 0, "file": [0, 1, 20], "onc": [0, 8], "past": [0, 20, 22], "call": [0, 3, 12, 14, 22], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 20], "must": [0, 22], "now": [0, 1, 22], "provid": [0, 1, 3, 8, 11, 13, 19, 22], "list": [0, 1, 3, 19, 20], "pastefil": [0, 3, 7, 20], "184": 0, "remov": [0, 3, 15, 18, 19, 20], "store": [0, 3, 7, 8, 19], "attr": 0, "interact": [0, 3, 7, 9, 19], "viewwithuserandrolecheck": [0, 3, 7, 15], "when": [0, 3, 4, 6, 7, 8, 10, 12, 14, 19, 20, 22], "stop": [0, 7, 15], "addit": 0, "exist": [0, 1, 22], "logic": 0, "timeout": [0, 3, 15, 19], "187": 0, "fix": 0, "channel": [0, 3, 7, 10, 12], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 3, 7, 8, 10, 11, 12, 14, 15, 16, 18, 19, 21, 22], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "includ": [0, 1, 13], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "9": 0, "2nd": 0, "185": 0, "updat": [0, 14], "expiri": 0, "label": [0, 15], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "lexer": [0, 20], "valid": 0, "pastebin": 0, "url": [0, 3, 6, 19, 20], "pythondiscord": [0, 20], "com": [0, 20], "8": 0, "13th": 0, "181": 0, "7": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": [0, 3, 19], "handl": [0, 13, 17, 22], "forbidden": [0, 9, 13], "90001": [0, 13], "error": [0, 3, 6, 7, 13, 17, 20], "schedul": [0, 3, 7], "179": 0, "upload": [0, 20], "text": [0, 3, 6, 11, 19, 20], "our": [0, 1, 7], "6th": 0, "mai": [0, 3, 8, 19], "175": 0, "wait": [0, 3, 22], "guild": [0, 1, 3, 10, 17], "avail": [0, 3], "befor": [0, 3, 10, 15, 19, 22], "cog": [0, 3, 5], "march": 0, "174": 0, "februari": 0, "173": 0, "9th": 0, "172": 0, "24th": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 15, 19, 22], "been": 0, "also": [0, 3, 7, 14, 15, 19], "need": [0, 1, 3, 19], "run": [0, 1, 12, 22], "task": [0, 22], "23rd": 0, "170": 0, "save": [0, 3, 20], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 12, 14, 19, 22], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 18, 19, 22], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 21], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 17], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 20, 22], "11": 0, "162": 0, "being": [0, 7, 10, 17], "abl": 0, "button": [0, 15], "press": 0, "88": 0, "decor": [0, 8, 10, 12, 14], "success": [0, 20], "duplic": [0, 12], "invoc": [0, 12], "158": 0, "5th": 0, "157": 0, "renam": 0, "project": [0, 1, 16], "publish": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 21], "option": [0, 8], "match": [0, 3], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 13, 15, 17, 19, 20], "rediscach": 0, "v1": [0, 3, 19, 20], "rc2": 0, "107": 0, "declar": 0, "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 10, 14, 22], "108": 0, "101": 0, "clean": [0, 11], "string": [0, 6], "referenc": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 10, 16, 19, 20, 22], "On": 0, "view": [0, 15], "its": [0, 3, 12, 14], "104": 0, "deletemessagebutton": [0, 3, 7, 15], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 16], "103": 0, "attach": 0, "parent": [0, 15], "gener": [0, 3, 12, 22], "role": [0, 1, 3, 10, 15, 17, 18, 19], "98": 0, "close": [0, 2, 3, 6, 22], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 10, 22], "91": 0, "miss": 0, "await": [0, 3, 12, 15, 17, 19], "ping_servic": [0, 2, 3], "some": [0, 3, 19, 20], "case": [0, 3, 19], "pass": [0, 6, 16, 17, 22], "self": [0, 3, 15], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 17], "96": 0, "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 16, 19], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 10, 22], "out": [0, 1, 15], "75": 0, "invit": [0, 21], "longer": [0, 15], "safe": 0, "result": [0, 22], "captur": [0, 14, 21], "charact": [0, 3, 19], "up": [0, 1, 3, 19], "whitespac": [0, 21], "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3, 10, 19], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "number": [0, 3, 10, 19, 20], "so": [0, 1, 7], "should": [0, 1, 3, 6, 15, 19, 20], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 17], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 14], "main": 0, "don": [0, 10, 22], "t": [0, 10, 11, 13, 14, 22], "modul": [0, 3, 7, 14, 22], "start": [0, 3, 22], "_": 0, "66": 0, "each": [0, 3, 19], "own": [0, 14], "avoid": [0, 3, 19], "singl": [0, 3, 19], "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 22], "manipul": [0, 14], "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 3, 14, 19], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 16], "basic": [0, 15], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 10, 12, 15, 19, 22], "instanc": [0, 3, 6, 8, 9, 10, 16, 22], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 20], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "event": [0, 3, 4, 22], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3, 19], "made": [0, 18], "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 20], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 12, 15, 16, 19, 20, 22], "abstract": 0, "lot": 0, "share": [0, 14], "between": [0, 1, 14], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 16], "import": 0, "can": [0, 1, 3, 10, 15, 16, 19, 22], "function": [0, 3, 7, 8, 9, 12, 16, 17, 19, 22], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "api": [0, 6, 17], "wrapper": [0, 6, 12, 14, 22], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "cach": [0, 3, 7, 9, 17], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 3, 7, 15, 16, 19], "intersphinx": 0, "12": 0, "block": [0, 3, 12, 19, 21], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 16], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 14], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 14, 15], "below": 1, "more": [1, 3, 14, 19], "both": [1, 20], "what": 1, "go": [1, 3, 19], "them": [1, 3, 14, 22], "you": [1, 9, 21], "ll": [1, 22], "write": 1, "might": [1, 10], "mean": 1, "modifi": [1, 17], "ones": 1, "etc": [1, 10], "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19, 20, 22], "vari": 1, "re": [1, 3, 13, 18, 22], "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 3, 10, 15, 19, 20, 22], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 14, 18], "free": 1, "howev": 1, "like": [1, 14], "m": 1, "docker": 1, "compos": 1, "d": [1, 14], "configur": [1, 3, 19, 20], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 3, 4, 19], "invok": [1, 10, 12, 15], "mention": [1, 3], "allowed_rol": [1, 3, 15, 18, 19], "A": [1, 3, 6, 7, 8, 9, 10, 12, 14, 15, 16, 19, 20, 22], "comma": 1, "seper": 1, "id": [1, 3, 9, 10, 15, 19, 22], "anyth": [1, 20], "reinstal": 1, "applic": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "emptypaginatorembederror": [2, 3, 7, 19], "add_lin": [2, 3, 7, 19], "paginationemoji": [2, 3, 7, 19], "model_computed_field": [2, 3, 7, 19, 20], "model_config": [2, 3, 7, 19, 20], "model_field": [2, 3, 7, 19, 20], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": [2, 3, 19], "inform": [2, 16], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12, 16], "http_session": [3, 20], "redis_sess": 3, "kwarg": [3, 6, 12, 15, 16, 22], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "implement": [3, 4, 8, 15, 16], "initialis": [3, 8], "int": [3, 4, 8, 9, 10, 15, 19, 20, 22], "clientsess": [3, 6, 20], "redissess": 3, "str": [3, 4, 6, 7, 10, 11, 14, 15, 16, 19, 20, 22], "server": [3, 21], "If": [3, 6, 10, 12, 14, 15, 18, 19, 22], "given": [3, 4, 7, 9, 11, 16, 17, 22], "oper": [3, 19, 22], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 15, 22], "instead": [3, 12, 22], "connector": 3, "resolv": [3, 14], "sync_app_command": 3, "true": [3, 6, 10, 12, 16, 18, 19, 20, 22], "all_extens": 3, "bool": [3, 6, 9, 10, 12, 15, 18, 19, 22], "intern": [3, 7], "becom": 3, "appear": 3, "still": [3, 19], "empti": [3, 19], "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 14, 18], "relev": 3, "name": [3, 7, 14, 16, 19, 20, 22], "alia": [3, 7, 12], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 14], "second": [3, 10, 12, 15, 19, 22], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 10, 12, 14, 16, 19, 20, 22], "rais": [3, 6, 9, 10, 11, 12, 13, 14, 17, 19, 20, 22], "suffix": [3, 19], "max_siz": [3, 8, 19, 20], "4000": [3, 19], "scale_to_s": [3, 19], "max_lin": [3, 19], "linesep": [3, 19], "n": [3, 19], "aid": [3, 19], "pagination_emoji": [3, 19], "insert": [3, 19], "everi": [3, 19], "e": [3, 19], "g": [3, 19], "three": [3, 19], "backtick": [3, 19], "append": [3, 19], "end": [3, 19], "maximum": [3, 8, 19, 20], "amount": [3, 19], "codepoint": [3, 19], "line": [3, 19], "scale": [3, 19], "overrid": [3, 19], "insid": [3, 19], "It": [3, 7, 19], "order": [3, 8, 19, 22], "per": [3, 10, 19], "fals": [3, 10, 12, 19, 20], "current": [3, 19, 22], "exce": [3, 8, 19], "overflow": [3, 19], "word": [3, 19], "exceed": [3, 19], "excess": [3, 19], "place": [3, 19], "next": [3, 19], "unti": [3, 19], "remain": [3, 19], "boundari": [3, 19], "truncat": [3, 19], "continu": [3, 19], "onto": [3, 19], "In": [3, 19], "alreadi": [3, 19, 22], "would": [3, 19], "caus": [3, 7, 19], "done": [3, 15, 19, 22], "best": [3, 19], "effort": [3, 19], "while": [3, 12, 19], "keep": [3, 19, 22], "total": [3, 19], "length": [3, 12, 19], "reason": [3, 19], "size": [3, 8, 19, 20], "indic": [3, 17, 19], "classmethod": [3, 19], "ctx": [3, 10, 11, 15, 19], "500": [3, 19], "restrict_to_us": [3, 19], "300": [3, 19], "footer_text": [3, 19], "exception_on_empty_emb": [3, 19], "repli": [3, 11, 12, 13, 19], "switch": [3, 19], "finish": [3, 19], "appli": [3, 7, 8, 10, 12, 19, 20], "These": [3, 19], "five": [3, 19], "minut": [3, 19], "limit": [3, 19], "author": [3, 10, 18, 19], "ani": [3, 6, 10, 19, 21, 22], "moder": [3, 15, 18, 19], "context": [3, 10, 11, 19], "hold": [3, 19], "serv": [3, 19], "whom": [3, 19], "restrict": [3, 19], "anymor": [3, 19], "footer": [3, 19], "sequenc": [3, 7, 14, 15, 19], "exampl": [3, 19], "set_author": [3, 19], "icon_url": [3, 19], "icon": [3, 19], "data": [3, 19, 20], "basemodel": [3, 19, 20], "classvar": [3, 19, 20], "dict": [3, 6, 19, 20], "computedfieldinfo": [3, 19, 20], "dictionari": [3, 19, 20], "comput": [3, 19, 20], "field": [3, 19, 20], "correspond": [3, 19, 20], "object": [3, 6, 7, 8, 9, 12, 17, 19, 20, 22], "configdict": [3, 19, 20], "model": [3, 19, 20], "conform": [3, 19, 20], "pydant": [3, 19, 20], "config": [3, 19, 20], "fieldinfo": [3, 19, 20], "annot": [3, 14, 19, 20], "trashcan": [3, 19], "637136429717389331": [3, 19], "first": [3, 19], "last": [3, 10, 15, 19], "left": [3, 19], "metadata": [3, 19, 20], "about": [3, 12, 19, 20], "defin": [3, 19, 20], "map": [3, 19, 20], "replac": [3, 10, 14, 19, 20], "__fields__": [3, 19, 20], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "contextcheckfailur": [3, 7, 10], "inwhitelistcheckfailur": [3, 7, 10], "cooldown_with_role_bypass": [3, 7, 10], "has_any_role_check": [3, 7, 10], "has_no_roles_check": [3, 7, 10], "in_whitelist_check": [3, 7, 10], "clean_text_or_repli": [3, 7, 11], "cooldown": [3, 7, 10], "commandoncooldown": [3, 7, 12], "p": [3, 7, 12], "r": [3, 7, 12], "block_duplicate_invoc": [3, 7, 12], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 13], "globalnameconflicterror": [3, 7, 14], "command_wrap": [3, 7, 14], "update_wrapper_glob": [3, 7, 14], "customlogg": [3, 7, 16], "get_logg": [3, 7, 16], "max_paste_s": [3, 7, 20], "pasterespons": [3, 7, 20], "pastetoolongerror": [3, 7, 20], "pasteunsupportedlexererror": [3, 7, 20], "pasteuploaderror": [3, 7, 20], "formatted_code_regex": [3, 7, 21], "raw_code_regex": [3, 7, 21], "create_task": [3, 7, 22], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 20], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 22], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 22], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "django": 6, "initi": [6, 22], "authent": 6, "keyword": [6, 7, 16], "argument": [6, 7, 8, 11, 12, 16, 17], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "ok": 6, "clientrespons": 6, "json": 6, "extra": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 20], "represent": 6, "group": [7, 21], "root_alias": 7, "two": 7, "act": 7, "top": 7, "rather": 7, "than": [7, 20], "attribut": [7, 14], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 12], "callback": [7, 10, 15], "interaction_check": [7, 15], "on_timeout": [7, 15], "__contains__": [7, 22], "cancel": [7, 22], "cancel_al": [7, 22], "schedule_at": [7, 22], "schedule_lat": [7, 22], "relat": [8, 16], "128": 8, "lru": 8, "coroutin": [8, 17, 22], "kei": 8, "fifo": 8, "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 10, 12, 14, 17], "wrap": [8, 14, 22], "target": 8, "item": 8, "helper": [9, 12, 17], "variou": 9, "channel_id": 9, "fetch": [9, 17], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 10, 20], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": [9, 10], "textchannel": 9, "redirect_channel": 10, "checkfailur": 10, "in_whitelist": 10, "rate": 10, "bypass_rol": 10, "bypass": 10, "note": 10, "before_invok": 10, "introduc": 10, "problem": [10, 16], "futur": [10, 22], "trigger": 10, "float": [10, 12, 15, 22], "durat": 10, "long": [10, 20, 22], "buckettyp": 10, "iter": [10, 12], "describ": 10, "behavior": 10, "typeerror": 10, "verifi": 10, "alwai": 10, "dm": 10, "sinc": 10, "where": 10, "union": 10, "collect": 10, "least": 10, "otherwis": [10, 22], "doesn": [10, 22], "redirect": 10, "fail_sil": 10, "issu": 10, "whitelist": 10, "silent": 10, "badargu": 11, "wasn": 11, "els": 11, "commanderror": 12, "typevar": [12, 14, 22], "valu": [12, 14, 16], "signatur": 12, "cooldown_dur": 12, "send_notic": 12, "args_preprocessor": 12, "prevent": [12, 22], "same": [12, 22], "notifi": 12, "paramspec": [12, 14], "raw": [12, 21], "isn": 13, "conflict": 14, "global": 14, "assign": 14, "__module__": 14, "__name__": 14, "__qualname__": 14, "__doc__": 14, "__annotations__": 14, "__dict__": 14, "ignored_conflict_nam": 14, "frozenset": 14, "look": [14, 22], "forwardref": 14, "evalu": 14, "detail": 14, "_p": 14, "_r": 14, "found": [14, 17, 22], "behav": 14, "functool": 14, "For": 14, "__global__": 14, "state": 14, "won": 14, "reflect": 14, "typehint": 14, "style": 15, "secondari": 15, "click": 15, "itself": 15, "carri": 15, "buttonstyl": 15, "origin": 15, "allowed_us": [15, 18], "180": 15, "who": 15, "ui": 15, "accept": 15, "input": 15, "similar": [15, 21], "occur": 15, "listen": 15, "msg": 16, "sever": 16, "exc_info": 16, "houston": 16, "we": [16, 17], "interest": 16, "mypi": 16, "recognis": 16, "formatt": 16, "interactin": 17, "member_id": 17, "failur": 17, "could": 17, "coro": [17, 22], "sole": 17, "expect": 17, "add_rol": 17, "remove_rol": 17, "purpos": 17, "intend": 17, "message_id": 18, "allowed_emoji": 18, "allow_mod": 18, "even": 18, "524288": 20, "byte": 20, "format": [20, 21], "link": 20, "too": 20, "larg": 20, "unsupport": 20, "encount": 20, "paste_url": 20, "max": 20, "larger": 20, "reject": 20, "max_length": 20, "greater": 20, "regular": 21, "express": 21, "pattern": 21, "pleas": 21, "sanitis": 21, "output": 21, "someth": 21, "urllib": 21, "pars": 21, "quot": 21, "execut": 22, "track": 22, "distinguish": 22, "suggest": 22, "immedi": 22, "uniqu": 22, "prematur": 22, "task_id": 22, "hashabl": 22, "unschedul": 22, "identifi": 22, "known": 22, "unawait": 22, "elsewher": 22, "timezon": 22, "awar": 22, "calcul": 22, "subtract": 22, "na\u00efv": 22, "utc": 22, "datetim": 22, "delai": 22, "suppressed_except": 22, "event_loop": 22, "task_return": 22, "tupl": 22}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "EmptyPaginatorEmbedError"], [3, 1, 1, "", "LinePaginator"], [3, 1, 1, "", "PaginationEmojis"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.LinePaginator": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_line"], [3, 2, 1, "", "paginate"]], "pydis_core.PaginationEmojis": [[3, 4, 1, "", "model_computed_fields"], [3, 4, 1, "", "model_config"], [3, 4, 1, "", "model_fields"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 5, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "checks"], [11, 0, 0, "-", "commands"], [12, 0, 0, "-", "cooldown"], [13, 0, 0, "-", "error_handling"], [14, 0, 0, "-", "function"], [15, 0, 0, "-", "interactions"], [16, 0, 0, "-", "logging"], [17, 0, 0, "-", "members"], [18, 0, 0, "-", "messages"], [19, 0, 0, "-", "pagination"], [20, 0, 0, "-", "paste_service"], [21, 0, 0, "-", "regex"], [22, 0, 0, "-", "scheduling"], [7, 5, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 5, 1, "", "get_or_fetch_channel"], [9, 5, 1, "", "is_in_category"]], "pydis_core.utils.checks": [[10, 3, 1, "", "ContextCheckFailure"], [10, 3, 1, "", "InWhitelistCheckFailure"], [10, 5, 1, "", "cooldown_with_role_bypass"], [10, 5, 1, "", "has_any_role_check"], [10, 5, 1, "", "has_no_roles_check"], [10, 5, 1, "", "in_whitelist_check"]], "pydis_core.utils.checks.ContextCheckFailure": [[10, 2, 1, "", "__init__"]], "pydis_core.utils.commands": [[11, 5, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[12, 3, 1, "", "CommandOnCooldown"], [12, 6, 1, "", "P"], [12, 1, 1, "", "R"], [12, 5, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[12, 2, 1, "", "__init__"], [12, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[13, 5, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[14, 3, 1, "", "GlobalNameConflictError"], [14, 5, 1, "", "command_wraps"], [14, 5, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[15, 1, 1, "", "DeleteMessageButton"], [15, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[15, 2, 1, "", "__init__"], [15, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[15, 2, 1, "", "__init__"], [15, 2, 1, "", "interaction_check"], [15, 2, 1, "", "on_timeout"], [15, 2, 1, "", "stop"]], "pydis_core.utils.logging": [[16, 1, 1, "", "CustomLogger"], [16, 5, 1, "", "get_logger"], [16, 6, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[16, 2, 1, "", "trace"]], "pydis_core.utils.members": [[17, 5, 1, "", "get_or_fetch_member"], [17, 5, 1, "", "handle_role_change"]], "pydis_core.utils.messages": [[18, 5, 1, "", "reaction_check"]], "pydis_core.utils.pagination": [[19, 3, 1, "", "EmptyPaginatorEmbedError"], [19, 1, 1, "", "LinePaginator"], [19, 1, 1, "", "PaginationEmojis"]], "pydis_core.utils.pagination.LinePaginator": [[19, 2, 1, "", "__init__"], [19, 2, 1, "", "add_line"], [19, 2, 1, "", "paginate"]], "pydis_core.utils.pagination.PaginationEmojis": [[19, 4, 1, "", "model_computed_fields"], [19, 4, 1, "", "model_config"], [19, 4, 1, "", "model_fields"]], "pydis_core.utils.paste_service": [[20, 6, 1, "", "MAX_PASTE_SIZE"], [20, 1, 1, "", "PasteFile"], [20, 1, 1, "", "PasteResponse"], [20, 3, 1, "", "PasteTooLongError"], [20, 3, 1, "", "PasteUnsupportedLexerError"], [20, 3, 1, "", "PasteUploadError"], [20, 5, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[20, 4, 1, "", "model_computed_fields"], [20, 4, 1, "", "model_config"], [20, 4, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[20, 4, 1, "", "model_computed_fields"], [20, 4, 1, "", "model_config"], [20, 4, 1, "", "model_fields"]], "pydis_core.utils.regex": [[21, 6, 1, "", "DISCORD_INVITE"], [21, 6, 1, "", "FORMATTED_CODE_REGEX"], [21, 6, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[22, 1, 1, "", "Scheduler"], [22, 5, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[22, 2, 1, "", "__contains__"], [22, 2, 1, "", "__init__"], [22, 2, 1, "", "cancel"], [22, 2, 1, "", "cancel_all"], [22, 2, 1, "", "schedule"], [22, 2, 1, "", "schedule_at"], [22, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:attribute", "5": "py:function", "6": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "check": 10, "command": 11, "cooldown": 12, "error_handl": 13, "function": 14, "interact": 15, "log": 16, "member": 17, "messag": 18, "pagin": 19, "paste_servic": 20, "regex": 21, "schedul": 22}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "channel": [[9, "module-pydis_core.utils.channel"]], "Exts": [[5, "module-pydis_core.exts"]], "caching": [[8, "module-pydis_core.utils.caching"]], "error_handling": [[13, "module-pydis_core.utils.error_handling"]], "checks": [[10, "module-pydis_core.utils.checks"]], "commands": [[11, "module-pydis_core.utils.commands"]], "cooldown": [[12, "module-pydis_core.utils.cooldown"]], "function": [[14, "module-pydis_core.utils.function"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "members": [[17, "module-pydis_core.utils.members"]], "logging": [[16, "module-pydis_core.utils.logging"]], "pagination": [[19, "module-pydis_core.utils.pagination"]], "messages": [[18, "module-pydis_core.utils.messages"]], "interactions": [[15, "module-pydis_core.utils.interactions"]], "scheduling": [[22, "module-pydis_core.utils.scheduling"]], "regex": [[21, "module-pydis_core.utils.regex"]], "paste_service": [[20, "module-pydis_core.utils.paste_service"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "emptypaginatorembederror": [[3, "pydis_core.EmptyPaginatorEmbedError"], [19, "pydis_core.utils.pagination.EmptyPaginatorEmbedError"]], "linepaginator (class in pydis_core)": [[3, "pydis_core.LinePaginator"]], "paginationemojis (class in pydis_core)": [[3, "pydis_core.PaginationEmojis"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (linepaginator method)": [[3, "pydis_core.LinePaginator.__init__"], [19, "pydis_core.utils.pagination.LinePaginator.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "add_line() (linepaginator method)": [[3, "pydis_core.LinePaginator.add_line"], [19, "pydis_core.utils.pagination.LinePaginator.add_line"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "model_computed_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_computed_fields"], [19, "pydis_core.utils.pagination.PaginationEmojis.model_computed_fields"]], "model_config (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_config"], [19, "pydis_core.utils.pagination.PaginationEmojis.model_config"]], "model_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_fields"], [19, "pydis_core.utils.pagination.PaginationEmojis.model_fields"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.checks"], [11, "module-pydis_core.utils.commands"], [12, "module-pydis_core.utils.cooldown"], [13, "module-pydis_core.utils.error_handling"], [14, "module-pydis_core.utils.function"], [15, "module-pydis_core.utils.interactions"], [16, "module-pydis_core.utils.logging"], [17, "module-pydis_core.utils.members"], [18, "module-pydis_core.utils.messages"], [19, "module-pydis_core.utils.pagination"], [20, "module-pydis_core.utils.paste_service"], [21, "module-pydis_core.utils.regex"], [22, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "paginate() (linepaginator class method)": [[3, "pydis_core.LinePaginator.paginate"], [19, "pydis_core.utils.pagination.LinePaginator.paginate"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "contextcheckfailure": [[10, "pydis_core.utils.checks.ContextCheckFailure"]], "inwhitelistcheckfailure": [[10, "pydis_core.utils.checks.InWhitelistCheckFailure"]], "__init__() (contextcheckfailure method)": [[10, "pydis_core.utils.checks.ContextCheckFailure.__init__"]], "cooldown_with_role_bypass() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.cooldown_with_role_bypass"]], "has_any_role_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_any_role_check"]], "has_no_roles_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_no_roles_check"]], "in_whitelist_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.in_whitelist_check"]], "pydis_core.utils.checks": [[10, "module-pydis_core.utils.checks"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[11, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[11, "module-pydis_core.utils.commands"]], "commandoncooldown": [[12, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[12, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[13, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[13, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[14, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[14, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[15, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[15, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[15, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[15, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "customlogger (class in pydis_core.utils.logging)": [[16, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[16, "pydis_core.utils.logging.get_logger"]], "log_format (in module pydis_core.utils.logging)": [[16, "pydis_core.utils.logging.log_format"]], "pydis_core.utils.logging": [[16, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[16, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[17, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[17, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[17, "module-pydis_core.utils.members"]], "pydis_core.utils.messages": [[18, "module-pydis_core.utils.messages"]], "reaction_check() (in module pydis_core.utils.messages)": [[18, "pydis_core.utils.messages.reaction_check"]], "linepaginator (class in pydis_core.utils.pagination)": [[19, "pydis_core.utils.pagination.LinePaginator"]], "paginationemojis (class in pydis_core.utils.pagination)": [[19, "pydis_core.utils.pagination.PaginationEmojis"]], "pydis_core.utils.pagination": [[19, "module-pydis_core.utils.pagination"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[20, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[20, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[20, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[20, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[20, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[20, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[20, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[20, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[20, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[20, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[20, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[20, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[20, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[20, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[21, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[21, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[21, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[21, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[22, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[22, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[22, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.checks", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.messages", "output/pydis_core.utils.pagination", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.checks.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.messages.rst", "output/pydis_core.utils.pagination.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "checks", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "messages", "pagination", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "6": 0, "0": [0, 8, 10, 15, 16], "30th": 0, "januari": 0, "2024": 0, "featur": [0, 1, 3], "199": 0, "port": [0, 4], "common": [0, 1, 3, 7, 16, 21], "discord": [0, 1, 3, 5, 7, 9, 10, 11, 13, 14, 17, 19, 21], "command": [0, 1, 3, 7, 9, 10, 12, 14, 19], "check": [0, 3, 6, 7, 9, 12, 13, 15, 18, 22], "from": [0, 1, 3, 4, 6, 7, 9, 14, 15, 17, 19, 20, 22], "other": [0, 1, 22], "bot": [0, 1, 3, 7, 9, 18], "pydis_cor": [0, 1, 3, 15, 16], "util": [0, 1, 2, 3, 8, 14, 15, 16], "189": 0, "add": [0, 3, 10, 12, 19], "messag": [0, 3, 7, 11, 12, 13, 15, 16, 19, 22], "reaction_check": [0, 3, 7, 18], "predic": 0, "dictat": 0, "whether": [0, 3, 6, 9, 10, 19], "user": [0, 3, 10, 12, 15, 18, 19], "ha": [0, 7, 10], "right": [0, 3, 19], "specif": [0, 10], "set": [0, 1, 3, 12, 14, 15, 19], "reaction": [0, 3, 18, 19], "base": [0, 3, 4, 6, 8, 10, 12, 14, 15, 16, 19, 20, 22], "certain": [0, 1], "criteria": 0, "pagin": [0, 2, 3, 7], "linepagin": [0, 2, 3, 7, 19], "which": [0, 1, 3, 7, 10, 12, 19, 22], "allow": [0, 1, 3, 15, 18, 19, 20], "over": [0, 3, 19], "content": [0, 3, 11, 19, 20], "us": [0, 1, 3, 4, 6, 7, 9, 10, 12, 14, 16, 17, 19, 20, 21, 22], "emb": [0, 3, 19], "emoji": [0, 3, 18, 19], "facilit": 0, "navig": [0, 1, 3, 19], "5": [0, 12], "1": [0, 16], "14th": 0, "decemb": 0, "2023": 0, "bug": 0, "200": 0, "do": [0, 1, 9], "attempt": [0, 3, 9, 17, 19], "read": 0, "respons": [0, 6, 20], "bodi": 0, "http": [0, 6, 20, 21], "code": [0, 1, 3, 6, 19, 21], "i": [0, 1, 3, 6, 7, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "204": [0, 6], "previous": 0, "onli": [0, 3], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "delet": [0, 3, 6, 8, 15, 19, 20], "did": 0, "thi": [0, 1, 3, 7, 9, 10, 12, 14, 15, 17, 19, 20, 21, 22], "10th": 0, "support": [0, 4, 7, 22], "197": 0, "mark": 0, "depend": [0, 9], "tild": 0, "version": [0, 11], "specifi": [0, 10, 12, 15], "pydi": [0, 2], "core": [0, 1], "newer": 0, "librari": [0, 1], "without": [0, 10], "u": [0, 3, 19], "have": [0, 9, 10, 14, 16], "cut": 0, "new": [0, 1, 3, 4, 6, 8, 14, 19, 22], "releas": 0, "4": 0, "26th": 0, "octob": 0, "196": 0, "bump": 0, "mani": [0, 3, 8], "develop": [0, 2, 3, 7], "aiodn": 0, "3": 0, "19th": 0, "septemb": 0, "195": 0, "websocket": 0, "chardet": 0, "async_rediscach": [0, 3], "logger": [0, 16], "warn": [0, 22], "level": [0, 7, 16], "asyncio": [0, 4, 22], "info": [0, 1], "default": [0, 1, 3, 10, 19, 20], "log_format": [0, 3, 7, 16], "log": [0, 3, 7, 13, 17, 22], "standardis": [0, 16], "across": [0, 3, 16, 19], "all": [0, 1, 3, 4, 7, 16, 22], "servic": [0, 1, 3, 20], "2": [0, 3, 15], "28th": 0, "august": 0, "192": 0, "py": [0, 3, 14], "25th": 0, "juli": 0, "190": 0, "overwrit": [0, 3], "ext": [0, 2, 3, 7, 9, 10, 11, 19], "process_command": [0, 2, 3], "ensur": [0, 3, 15, 21], "ar": [0, 1, 3, 8, 14, 15, 18, 19, 21], "process": [0, 3], "until": [0, 3, 21], "extens": [0, 3], "load": [0, 1, 3, 7], "work": [0, 1], "client": [0, 3, 4], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "break": [0, 3, 14, 19], "188": 0, "send": [0, 3, 6, 15, 19], "multipl": 0, "file": [0, 1, 20], "onc": [0, 8], "past": [0, 20, 22], "call": [0, 3, 12, 14, 22], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 20], "must": [0, 22], "now": [0, 1, 22], "provid": [0, 1, 3, 8, 11, 13, 19, 22], "list": [0, 1, 3, 19, 20], "pastefil": [0, 3, 7, 20], "184": 0, "remov": [0, 3, 15, 18, 19, 20], "store": [0, 3, 7, 8, 19], "attr": 0, "interact": [0, 3, 7, 9, 19], "viewwithuserandrolecheck": [0, 3, 7, 15], "when": [0, 3, 4, 6, 7, 8, 10, 12, 14, 19, 20, 22], "stop": [0, 7, 15], "addit": 0, "exist": [0, 1, 22], "logic": 0, "timeout": [0, 3, 15, 19], "187": 0, "fix": 0, "channel": [0, 3, 7, 10, 12], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 3, 7, 8, 10, 11, 12, 14, 15, 16, 18, 19, 21, 22], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "includ": [0, 1, 13], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "9": 0, "2nd": 0, "185": 0, "updat": [0, 14], "expiri": 0, "label": [0, 15], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "lexer": [0, 20], "valid": 0, "pastebin": 0, "url": [0, 3, 6, 19, 20], "pythondiscord": [0, 20], "com": [0, 20], "8": 0, "13th": 0, "181": 0, "7": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": [0, 3, 19], "handl": [0, 13, 17, 22], "forbidden": [0, 9, 13], "90001": [0, 13], "error": [0, 3, 6, 7, 13, 17, 20], "schedul": [0, 3, 7], "179": 0, "upload": [0, 20], "text": [0, 3, 6, 11, 19, 20], "our": [0, 1, 7], "6th": 0, "mai": [0, 3, 8, 19], "175": 0, "wait": [0, 3, 22], "guild": [0, 1, 3, 10, 17], "avail": [0, 3], "befor": [0, 3, 10, 15, 19, 22], "cog": [0, 3, 5], "march": 0, "174": 0, "februari": 0, "173": 0, "9th": 0, "172": 0, "24th": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 15, 19, 22], "been": 0, "also": [0, 3, 7, 14, 15, 19], "need": [0, 1, 3, 19], "run": [0, 1, 12, 22], "task": [0, 22], "23rd": 0, "170": 0, "save": [0, 3, 20], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 12, 14, 19, 22], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 18, 19, 22], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 21], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 17], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 20, 22], "11": 0, "162": 0, "being": [0, 7, 10, 17], "abl": 0, "button": [0, 15], "press": 0, "88": 0, "decor": [0, 8, 10, 12, 14], "success": [0, 20], "duplic": [0, 12], "invoc": [0, 12], "158": 0, "5th": 0, "157": 0, "renam": 0, "project": [0, 1, 16], "publish": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 21], "option": [0, 8], "match": [0, 3], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 13, 15, 17, 19, 20], "rediscach": 0, "v1": [0, 3, 19, 20], "rc2": 0, "107": 0, "declar": 0, "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 10, 14, 22], "108": 0, "101": 0, "clean": [0, 11], "string": [0, 6], "referenc": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 10, 16, 19, 20, 22], "On": 0, "view": [0, 15], "its": [0, 3, 12, 14], "104": 0, "deletemessagebutton": [0, 3, 7, 15], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 16], "103": 0, "attach": 0, "parent": [0, 15], "gener": [0, 3, 12, 22], "role": [0, 1, 3, 10, 15, 17, 18, 19], "98": 0, "close": [0, 2, 3, 6, 22], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 10, 22], "91": 0, "miss": 0, "await": [0, 3, 12, 15, 17, 19], "ping_servic": [0, 2, 3], "some": [0, 3, 19, 20], "case": [0, 3, 19], "pass": [0, 6, 16, 17, 22], "self": [0, 3, 15], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 17], "96": 0, "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 16, 19], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 10, 22], "out": [0, 1, 15], "75": 0, "invit": [0, 21], "longer": [0, 15], "safe": 0, "result": [0, 22], "captur": [0, 14, 21], "charact": [0, 3, 19], "up": [0, 1, 3, 19], "whitespac": [0, 21], "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3, 10, 19], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "number": [0, 3, 10, 19, 20], "so": [0, 1, 7], "should": [0, 1, 3, 6, 15, 19, 20], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 17], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 14], "main": 0, "don": [0, 10, 22], "t": [0, 10, 11, 13, 14, 22], "modul": [0, 3, 7, 14, 22], "start": [0, 3, 22], "_": 0, "66": 0, "each": [0, 3, 19], "own": [0, 14], "avoid": [0, 3, 19], "singl": [0, 3, 19], "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 22], "manipul": [0, 14], "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 3, 14, 19], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 16], "basic": [0, 15], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 10, 12, 15, 19, 22], "instanc": [0, 3, 6, 8, 9, 10, 16, 22], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 20], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "event": [0, 3, 4, 22], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3, 19], "made": [0, 18], "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 20], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 12, 15, 16, 19, 20, 22], "abstract": 0, "lot": 0, "share": [0, 14], "between": [0, 1, 14], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 16], "import": 0, "can": [0, 1, 3, 10, 15, 16, 19, 22], "function": [0, 3, 7, 8, 9, 12, 16, 17, 19, 22], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "api": [0, 6, 17], "wrapper": [0, 6, 12, 14, 22], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "cach": [0, 3, 7, 9, 17], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 3, 7, 15, 16, 19], "intersphinx": 0, "12": 0, "block": [0, 3, 12, 19, 21], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 16], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 14], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 14, 15], "below": 1, "more": [1, 3, 14, 19], "both": [1, 20], "what": 1, "go": [1, 3, 19], "them": [1, 3, 14, 22], "you": [1, 9, 21], "ll": [1, 22], "write": 1, "might": [1, 10], "mean": 1, "modifi": [1, 17], "ones": 1, "etc": [1, 10], "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19, 20, 22], "vari": 1, "re": [1, 3, 13, 18, 22], "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 3, 10, 15, 19, 20, 22], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 14, 18], "free": 1, "howev": 1, "like": [1, 14], "m": 1, "docker": 1, "compos": 1, "d": [1, 14], "configur": [1, 3, 19, 20], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 3, 4, 19], "invok": [1, 10, 12, 15], "mention": [1, 3], "allowed_rol": [1, 3, 15, 18, 19], "A": [1, 3, 6, 7, 8, 9, 10, 12, 14, 15, 16, 19, 20, 22], "comma": 1, "seper": 1, "id": [1, 3, 9, 10, 15, 19, 22], "anyth": [1, 20], "reinstal": 1, "applic": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "emptypaginatorembederror": [2, 3, 7, 19], "add_lin": [2, 3, 7, 19], "paginationemoji": [2, 3, 7, 19], "model_computed_field": [2, 3, 7, 19, 20], "model_config": [2, 3, 7, 19, 20], "model_field": [2, 3, 7, 19, 20], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": [2, 3, 19], "inform": [2, 16], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12, 16], "http_session": [3, 20], "redis_sess": 3, "kwarg": [3, 6, 12, 15, 16, 22], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "implement": [3, 4, 8, 15, 16], "initialis": [3, 8], "int": [3, 4, 8, 9, 10, 15, 19, 20, 22], "clientsess": [3, 6, 20], "redissess": 3, "str": [3, 4, 6, 7, 10, 11, 14, 15, 16, 19, 20, 22], "server": [3, 21], "If": [3, 6, 10, 12, 14, 15, 18, 19, 22], "given": [3, 4, 7, 9, 11, 16, 17, 22], "oper": [3, 19, 22], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 15, 22], "instead": [3, 12, 22], "connector": 3, "resolv": [3, 14], "sync_app_command": 3, "true": [3, 6, 10, 12, 16, 18, 19, 20, 22], "all_extens": 3, "bool": [3, 6, 9, 10, 12, 15, 18, 19, 22], "intern": [3, 7], "becom": 3, "appear": 3, "still": [3, 19], "empti": [3, 19], "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 14, 18], "relev": 3, "name": [3, 7, 14, 16, 19, 20, 22], "alia": [3, 7, 12], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 14], "second": [3, 10, 12, 15, 19, 22], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 10, 12, 14, 16, 19, 20, 22], "rais": [3, 6, 9, 10, 11, 12, 13, 14, 17, 19, 20, 22], "suffix": [3, 19], "max_siz": [3, 8, 19, 20], "4000": [3, 19], "scale_to_s": [3, 19], "max_lin": [3, 19], "linesep": [3, 19], "n": [3, 19], "aid": [3, 19], "pagination_emoji": [3, 19], "insert": [3, 19], "everi": [3, 19], "e": [3, 19], "g": [3, 19], "three": [3, 19], "backtick": [3, 19], "append": [3, 19], "end": [3, 19], "maximum": [3, 8, 19, 20], "amount": [3, 19], "codepoint": [3, 19], "line": [3, 19], "scale": [3, 19], "overrid": [3, 19], "insid": [3, 19], "It": [3, 7, 19], "order": [3, 8, 19, 22], "per": [3, 10, 19], "fals": [3, 10, 12, 19, 20], "current": [3, 19, 22], "exce": [3, 8, 19], "overflow": [3, 19], "word": [3, 19], "exceed": [3, 19], "excess": [3, 19], "place": [3, 19], "next": [3, 19], "unti": [3, 19], "remain": [3, 19], "boundari": [3, 19], "truncat": [3, 19], "continu": [3, 19], "onto": [3, 19], "In": [3, 19], "alreadi": [3, 19, 22], "would": [3, 19], "caus": [3, 7, 19], "done": [3, 15, 19, 22], "best": [3, 19], "effort": [3, 19], "while": [3, 12, 19], "keep": [3, 19, 22], "total": [3, 19], "length": [3, 12, 19], "reason": [3, 19], "size": [3, 8, 19, 20], "indic": [3, 17, 19], "classmethod": [3, 19], "ctx": [3, 10, 11, 15, 19], "500": [3, 19], "restrict_to_us": [3, 19], "300": [3, 19], "footer_text": [3, 19], "exception_on_empty_emb": [3, 19], "repli": [3, 11, 12, 13, 19], "switch": [3, 19], "finish": [3, 19], "appli": [3, 7, 8, 10, 12, 19, 20], "These": [3, 19], "five": [3, 19], "minut": [3, 19], "limit": [3, 19], "author": [3, 10, 18, 19], "ani": [3, 6, 10, 19, 21, 22], "moder": [3, 15, 18, 19], "context": [3, 10, 11, 19], "hold": [3, 19], "serv": [3, 19], "whom": [3, 19], "restrict": [3, 19], "anymor": [3, 19], "footer": [3, 19], "sequenc": [3, 7, 14, 15, 19], "exampl": [3, 19], "set_author": [3, 19], "icon_url": [3, 19], "icon": [3, 19], "data": [3, 19, 20], "basemodel": [3, 19, 20], "classvar": [3, 19, 20], "dict": [3, 6, 19, 20], "computedfieldinfo": [3, 19, 20], "dictionari": [3, 19, 20], "comput": [3, 19, 20], "field": [3, 19, 20], "correspond": [3, 19, 20], "object": [3, 6, 7, 8, 9, 12, 17, 19, 20, 22], "configdict": [3, 19, 20], "model": [3, 19, 20], "conform": [3, 19, 20], "pydant": [3, 19, 20], "config": [3, 19, 20], "fieldinfo": [3, 19, 20], "annot": [3, 14, 19, 20], "trashcan": [3, 19], "637136429717389331": [3, 19], "first": [3, 19], "last": [3, 10, 15, 19], "left": [3, 19], "metadata": [3, 19, 20], "about": [3, 12, 19, 20], "defin": [3, 19, 20], "map": [3, 19, 20], "replac": [3, 10, 14, 19, 20], "__fields__": [3, 19, 20], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "contextcheckfailur": [3, 7, 10], "inwhitelistcheckfailur": [3, 7, 10], "cooldown_with_role_bypass": [3, 7, 10], "has_any_role_check": [3, 7, 10], "has_no_roles_check": [3, 7, 10], "in_whitelist_check": [3, 7, 10], "clean_text_or_repli": [3, 7, 11], "cooldown": [3, 7, 10], "commandoncooldown": [3, 7, 12], "p": [3, 7, 12], "r": [3, 7, 12], "block_duplicate_invoc": [3, 7, 12], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 13], "globalnameconflicterror": [3, 7, 14], "command_wrap": [3, 7, 14], "update_wrapper_glob": [3, 7, 14], "customlogg": [3, 7, 16], "get_logg": [3, 7, 16], "max_paste_s": [3, 7, 20], "pasterespons": [3, 7, 20], "pastetoolongerror": [3, 7, 20], "pasteunsupportedlexererror": [3, 7, 20], "pasteuploaderror": [3, 7, 20], "formatted_code_regex": [3, 7, 21], "raw_code_regex": [3, 7, 21], "create_task": [3, 7, 22], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 20], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 22], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 22], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "django": 6, "initi": [6, 22], "authent": 6, "keyword": [6, 7, 16], "argument": [6, 7, 8, 11, 12, 16, 17], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "ok": 6, "clientrespons": 6, "json": 6, "extra": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 20], "represent": 6, "group": [7, 21], "root_alias": 7, "two": 7, "act": 7, "top": 7, "rather": 7, "than": [7, 20], "attribut": [7, 14], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 12], "callback": [7, 10, 15], "interaction_check": [7, 15], "on_timeout": [7, 15], "__contains__": [7, 22], "cancel": [7, 22], "cancel_al": [7, 22], "schedule_at": [7, 22], "schedule_lat": [7, 22], "relat": [8, 16], "128": 8, "lru": 8, "coroutin": [8, 17, 22], "kei": 8, "fifo": 8, "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 10, 12, 14, 17], "wrap": [8, 14, 22], "target": 8, "item": 8, "helper": [9, 12, 17], "variou": 9, "channel_id": 9, "fetch": [9, 17], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 10, 20], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": [9, 10], "textchannel": 9, "redirect_channel": 10, "checkfailur": 10, "in_whitelist": 10, "rate": 10, "bypass_rol": 10, "bypass": 10, "note": 10, "before_invok": 10, "introduc": 10, "problem": [10, 16], "futur": [10, 22], "trigger": 10, "float": [10, 12, 15, 22], "durat": 10, "long": [10, 20, 22], "buckettyp": 10, "iter": [10, 12], "describ": 10, "behavior": 10, "typeerror": 10, "verifi": 10, "alwai": 10, "dm": 10, "sinc": 10, "where": 10, "union": 10, "collect": 10, "least": 10, "otherwis": [10, 22], "doesn": [10, 22], "redirect": 10, "fail_sil": 10, "issu": 10, "whitelist": 10, "silent": 10, "badargu": 11, "wasn": 11, "els": 11, "commanderror": 12, "typevar": [12, 14, 22], "valu": [12, 14, 16], "signatur": 12, "cooldown_dur": 12, "send_notic": 12, "args_preprocessor": 12, "prevent": [12, 22], "same": [12, 22], "notifi": 12, "paramspec": [12, 14], "raw": [12, 21], "isn": 13, "conflict": 14, "global": 14, "assign": 14, "__module__": 14, "__name__": 14, "__qualname__": 14, "__doc__": 14, "__annotations__": 14, "__dict__": 14, "ignored_conflict_nam": 14, "frozenset": 14, "look": [14, 22], "forwardref": 14, "evalu": 14, "detail": 14, "_p": 14, "_r": 14, "found": [14, 17, 22], "behav": 14, "functool": 14, "For": 14, "__global__": 14, "state": 14, "won": 14, "reflect": 14, "typehint": 14, "style": 15, "secondari": 15, "click": 15, "itself": 15, "carri": 15, "buttonstyl": 15, "origin": 15, "allowed_us": [15, 18], "180": 15, "who": 15, "ui": 15, "accept": 15, "input": 15, "similar": [15, 21], "occur": 15, "listen": 15, "msg": 16, "sever": 16, "exc_info": 16, "houston": 16, "we": [16, 17], "interest": 16, "mypi": 16, "recognis": 16, "formatt": 16, "interactin": 17, "member_id": 17, "failur": 17, "could": 17, "coro": [17, 22], "sole": 17, "expect": 17, "add_rol": 17, "remove_rol": 17, "purpos": 17, "intend": 17, "message_id": 18, "allowed_emoji": 18, "allow_mod": 18, "even": 18, "524288": 20, "byte": 20, "format": [20, 21], "link": 20, "too": 20, "larg": 20, "unsupport": 20, "encount": 20, "paste_url": 20, "max": 20, "larger": 20, "reject": 20, "max_length": 20, "greater": 20, "regular": 21, "express": 21, "pattern": 21, "pleas": 21, "sanitis": 21, "output": 21, "someth": 21, "urllib": 21, "pars": 21, "quot": 21, "execut": 22, "track": 22, "distinguish": 22, "suggest": 22, "immedi": 22, "uniqu": 22, "prematur": 22, "task_id": 22, "hashabl": 22, "unschedul": 22, "identifi": 22, "known": 22, "unawait": 22, "elsewher": 22, "timezon": 22, "awar": 22, "calcul": 22, "subtract": 22, "na\u00efv": 22, "utc": 22, "datetim": 22, "delai": 22, "suppressed_except": 22, "event_loop": 22, "task_return": 22, "tupl": 22}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "EmptyPaginatorEmbedError"], [3, 1, 1, "", "LinePaginator"], [3, 1, 1, "", "PaginationEmojis"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.LinePaginator": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_line"], [3, 2, 1, "", "paginate"]], "pydis_core.PaginationEmojis": [[3, 4, 1, "", "model_computed_fields"], [3, 4, 1, "", "model_config"], [3, 4, 1, "", "model_fields"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 5, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "checks"], [11, 0, 0, "-", "commands"], [12, 0, 0, "-", "cooldown"], [13, 0, 0, "-", "error_handling"], [14, 0, 0, "-", "function"], [15, 0, 0, "-", "interactions"], [16, 0, 0, "-", "logging"], [17, 0, 0, "-", "members"], [18, 0, 0, "-", "messages"], [19, 0, 0, "-", "pagination"], [20, 0, 0, "-", "paste_service"], [21, 0, 0, "-", "regex"], [22, 0, 0, "-", "scheduling"], [7, 5, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 5, 1, "", "get_or_fetch_channel"], [9, 5, 1, "", "is_in_category"]], "pydis_core.utils.checks": [[10, 3, 1, "", "ContextCheckFailure"], [10, 3, 1, "", "InWhitelistCheckFailure"], [10, 5, 1, "", "cooldown_with_role_bypass"], [10, 5, 1, "", "has_any_role_check"], [10, 5, 1, "", "has_no_roles_check"], [10, 5, 1, "", "in_whitelist_check"]], "pydis_core.utils.checks.ContextCheckFailure": [[10, 2, 1, "", "__init__"]], "pydis_core.utils.commands": [[11, 5, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[12, 3, 1, "", "CommandOnCooldown"], [12, 6, 1, "", "P"], [12, 1, 1, "", "R"], [12, 5, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[12, 2, 1, "", "__init__"], [12, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[13, 5, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[14, 3, 1, "", "GlobalNameConflictError"], [14, 5, 1, "", "command_wraps"], [14, 5, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[15, 1, 1, "", "DeleteMessageButton"], [15, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[15, 2, 1, "", "__init__"], [15, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[15, 2, 1, "", "__init__"], [15, 2, 1, "", "interaction_check"], [15, 2, 1, "", "on_timeout"], [15, 2, 1, "", "stop"]], "pydis_core.utils.logging": [[16, 1, 1, "", "CustomLogger"], [16, 5, 1, "", "get_logger"], [16, 6, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[16, 2, 1, "", "trace"]], "pydis_core.utils.members": [[17, 5, 1, "", "get_or_fetch_member"], [17, 5, 1, "", "handle_role_change"]], "pydis_core.utils.messages": [[18, 5, 1, "", "reaction_check"]], "pydis_core.utils.pagination": [[19, 3, 1, "", "EmptyPaginatorEmbedError"], [19, 1, 1, "", "LinePaginator"], [19, 1, 1, "", "PaginationEmojis"]], "pydis_core.utils.pagination.LinePaginator": [[19, 2, 1, "", "__init__"], [19, 2, 1, "", "add_line"], [19, 2, 1, "", "paginate"]], "pydis_core.utils.pagination.PaginationEmojis": [[19, 4, 1, "", "model_computed_fields"], [19, 4, 1, "", "model_config"], [19, 4, 1, "", "model_fields"]], "pydis_core.utils.paste_service": [[20, 6, 1, "", "MAX_PASTE_SIZE"], [20, 1, 1, "", "PasteFile"], [20, 1, 1, "", "PasteResponse"], [20, 3, 1, "", "PasteTooLongError"], [20, 3, 1, "", "PasteUnsupportedLexerError"], [20, 3, 1, "", "PasteUploadError"], [20, 5, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[20, 4, 1, "", "model_computed_fields"], [20, 4, 1, "", "model_config"], [20, 4, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[20, 4, 1, "", "model_computed_fields"], [20, 4, 1, "", "model_config"], [20, 4, 1, "", "model_fields"]], "pydis_core.utils.regex": [[21, 6, 1, "", "DISCORD_INVITE"], [21, 6, 1, "", "FORMATTED_CODE_REGEX"], [21, 6, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[22, 1, 1, "", "Scheduler"], [22, 5, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[22, 2, 1, "", "__contains__"], [22, 2, 1, "", "__init__"], [22, 2, 1, "", "cancel"], [22, 2, 1, "", "cancel_all"], [22, 2, 1, "", "schedule"], [22, 2, 1, "", "schedule_at"], [22, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:attribute", "5": "py:function", "6": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "check": 10, "command": 11, "cooldown": 12, "error_handl": 13, "function": 14, "interact": 15, "log": 16, "member": 17, "messag": 18, "pagin": 19, "paste_servic": 20, "regex": 21, "schedul": 22}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "caching": [[8, "module-pydis_core.utils.caching"]], "site_api": [[6, "module-pydis_core.site_api"]], "channel": [[9, "module-pydis_core.utils.channel"]], "error_handling": [[13, "module-pydis_core.utils.error_handling"]], "checks": [[10, "module-pydis_core.utils.checks"]], "cooldown": [[12, "module-pydis_core.utils.cooldown"]], "commands": [[11, "module-pydis_core.utils.commands"]], "function": [[14, "module-pydis_core.utils.function"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "logging": [[16, "module-pydis_core.utils.logging"]], "members": [[17, "module-pydis_core.utils.members"]], "messages": [[18, "module-pydis_core.utils.messages"]], "pagination": [[19, "module-pydis_core.utils.pagination"]], "interactions": [[15, "module-pydis_core.utils.interactions"]], "regex": [[21, "module-pydis_core.utils.regex"]], "scheduling": [[22, "module-pydis_core.utils.scheduling"]], "paste_service": [[20, "module-pydis_core.utils.paste_service"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "emptypaginatorembederror": [[3, "pydis_core.EmptyPaginatorEmbedError"], [19, "pydis_core.utils.pagination.EmptyPaginatorEmbedError"]], "linepaginator (class in pydis_core)": [[3, "pydis_core.LinePaginator"]], "paginationemojis (class in pydis_core)": [[3, "pydis_core.PaginationEmojis"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (linepaginator method)": [[3, "pydis_core.LinePaginator.__init__"], [19, "pydis_core.utils.pagination.LinePaginator.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "add_line() (linepaginator method)": [[3, "pydis_core.LinePaginator.add_line"], [19, "pydis_core.utils.pagination.LinePaginator.add_line"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "model_computed_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_computed_fields"], [19, "pydis_core.utils.pagination.PaginationEmojis.model_computed_fields"]], "model_config (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_config"], [19, "pydis_core.utils.pagination.PaginationEmojis.model_config"]], "model_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_fields"], [19, "pydis_core.utils.pagination.PaginationEmojis.model_fields"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.checks"], [11, "module-pydis_core.utils.commands"], [12, "module-pydis_core.utils.cooldown"], [13, "module-pydis_core.utils.error_handling"], [14, "module-pydis_core.utils.function"], [15, "module-pydis_core.utils.interactions"], [16, "module-pydis_core.utils.logging"], [17, "module-pydis_core.utils.members"], [18, "module-pydis_core.utils.messages"], [19, "module-pydis_core.utils.pagination"], [20, "module-pydis_core.utils.paste_service"], [21, "module-pydis_core.utils.regex"], [22, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "paginate() (linepaginator class method)": [[3, "pydis_core.LinePaginator.paginate"], [19, "pydis_core.utils.pagination.LinePaginator.paginate"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "contextcheckfailure": [[10, "pydis_core.utils.checks.ContextCheckFailure"]], "inwhitelistcheckfailure": [[10, "pydis_core.utils.checks.InWhitelistCheckFailure"]], "__init__() (contextcheckfailure method)": [[10, "pydis_core.utils.checks.ContextCheckFailure.__init__"]], "cooldown_with_role_bypass() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.cooldown_with_role_bypass"]], "has_any_role_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_any_role_check"]], "has_no_roles_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_no_roles_check"]], "in_whitelist_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.in_whitelist_check"]], "pydis_core.utils.checks": [[10, "module-pydis_core.utils.checks"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[11, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[11, "module-pydis_core.utils.commands"]], "commandoncooldown": [[12, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[12, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[13, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[13, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[14, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[14, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[15, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[15, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[15, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[15, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "customlogger (class in pydis_core.utils.logging)": [[16, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[16, "pydis_core.utils.logging.get_logger"]], "log_format (in module pydis_core.utils.logging)": [[16, "pydis_core.utils.logging.log_format"]], "pydis_core.utils.logging": [[16, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[16, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[17, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[17, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[17, "module-pydis_core.utils.members"]], "pydis_core.utils.messages": [[18, "module-pydis_core.utils.messages"]], "reaction_check() (in module pydis_core.utils.messages)": [[18, "pydis_core.utils.messages.reaction_check"]], "linepaginator (class in pydis_core.utils.pagination)": [[19, "pydis_core.utils.pagination.LinePaginator"]], "paginationemojis (class in pydis_core.utils.pagination)": [[19, "pydis_core.utils.pagination.PaginationEmojis"]], "pydis_core.utils.pagination": [[19, "module-pydis_core.utils.pagination"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[20, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[20, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[20, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[20, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[20, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[20, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[20, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[20, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[20, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[20, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[20, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[20, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[20, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[20, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[21, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[21, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[21, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[21, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[22, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[22, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[22, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v10.6.0/versions.html b/v10.6.0/versions.html
index 923da6da..3bb9f5f3 100644
--- a/v10.6.0/versions.html
+++ b/v10.6.0/versions.html
@@ -278,6 +278,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -481,6 +485,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v10.7.0/.buildinfo b/v10.7.0/.buildinfo
index ad64c58e..f09afe49 100644
--- a/v10.7.0/.buildinfo
+++ b/v10.7.0/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 7cc26f112ab57b7c066519f4bc2722cc
+config: bbd85187e235e745ff3e9438fcde9335
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v10.7.0/changelog.html b/v10.7.0/changelog.html
index 43428788..c7ca35dc 100644
--- a/v10.7.0/changelog.html
+++ b/v10.7.0/changelog.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
@@ -387,7 +391,7 @@
<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v10.6.0">10.6.0</a> <span style="font-size: 75%;">30th January 2024</span></h2><ul class="simple">
<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/199">#199</a><span>:</span> Port common discord.commands checks from other bots to <a class="reference internal" href="output/pydis_core.utils.checks.html#module-pydis_core.utils.checks" title="pydis_core.utils.checks"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.checks</span></code></a>.</p></li>
<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/189">#189</a><span>:</span> Add <a class="reference internal" href="output/pydis_core.utils.messages.html#pydis_core.utils.messages.reaction_check" title="pydis_core.utils.messages.reaction_check"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.messages.reaction_check</span></code></a>, a predicate that dictates whether a user has the right to add a specific set of reactions based on certain criteria.</p></li>
-<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/189">#189</a><span>:</span> Add <a class="reference internal" href="output/pydis_core.utils.pagination.html#pydis_core.utils.pagination.LinePaginator" title="pydis_core.utils.pagination.LinePaginator"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.pagination.LinePaginator</span></code></a> which allows users to paginate over content using Embeds, with emoji reactions facilitating navigation.</p></li>
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/189">#189</a><span>:</span> Add <a class="reference internal" href="output/pydis_core.html#pydis_core.LinePaginator" title="pydis_core.utils.pagination.LinePaginator"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.pagination.LinePaginator</span></code></a> which allows users to paginate over content using Embeds, with emoji reactions facilitating navigation.</p></li>
</ul>
</section>
<section id="10.5.1">
diff --git a/v10.7.0/development.html b/v10.7.0/development.html
index f32cef8a..76c344ee 100644
--- a/v10.7.0/development.html
+++ b/v10.7.0/development.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/genindex.html b/v10.7.0/genindex.html
index 7970ae26..389390c5 100644
--- a/v10.7.0/genindex.html
+++ b/v10.7.0/genindex.html
@@ -278,6 +278,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/index.html b/v10.7.0/index.html
index 7bebcf9e..d89bdf9b 100644
--- a/v10.7.0/index.html
+++ b/v10.7.0/index.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/objects.inv b/v10.7.0/objects.inv
index debead38..2af841d2 100644
--- a/v10.7.0/objects.inv
+++ b/v10.7.0/objects.inv
Binary files differ
diff --git a/v10.7.0/output/pydis_core.async_stats.html b/v10.7.0/output/pydis_core.async_stats.html
index c3c0c5e7..6ddcde6b 100644
--- a/v10.7.0/output/pydis_core.async_stats.html
+++ b/v10.7.0/output/pydis_core.async_stats.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.exts.html b/v10.7.0/output/pydis_core.exts.html
index 933d36a0..b05ea27d 100644
--- a/v10.7.0/output/pydis_core.exts.html
+++ b/v10.7.0/output/pydis_core.exts.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.html b/v10.7.0/output/pydis_core.html
index 0f4ba93b..1d1e8493 100644
--- a/v10.7.0/output/pydis_core.html
+++ b/v10.7.0/output/pydis_core.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.site_api.html b/v10.7.0/output/pydis_core.site_api.html
index b4be1613..6a8ff036 100644
--- a/v10.7.0/output/pydis_core.site_api.html
+++ b/v10.7.0/output/pydis_core.site_api.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.utils.caching.html b/v10.7.0/output/pydis_core.utils.caching.html
index dec79dde..86a8fdae 100644
--- a/v10.7.0/output/pydis_core.utils.caching.html
+++ b/v10.7.0/output/pydis_core.utils.caching.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.utils.channel.html b/v10.7.0/output/pydis_core.utils.channel.html
index 1b77f526..febe9124 100644
--- a/v10.7.0/output/pydis_core.utils.channel.html
+++ b/v10.7.0/output/pydis_core.utils.channel.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.utils.checks.html b/v10.7.0/output/pydis_core.utils.checks.html
index 4bcb85ad..35dc81c0 100644
--- a/v10.7.0/output/pydis_core.utils.checks.html
+++ b/v10.7.0/output/pydis_core.utils.checks.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.checks.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.checks.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.utils.commands.html b/v10.7.0/output/pydis_core.utils.commands.html
index b2583670..1f5ca7d9 100644
--- a/v10.7.0/output/pydis_core.utils.commands.html
+++ b/v10.7.0/output/pydis_core.utils.commands.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.utils.cooldown.html b/v10.7.0/output/pydis_core.utils.cooldown.html
index 017fd3c6..10da4efe 100644
--- a/v10.7.0/output/pydis_core.utils.cooldown.html
+++ b/v10.7.0/output/pydis_core.utils.cooldown.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.utils.error_handling.html b/v10.7.0/output/pydis_core.utils.error_handling.html
index d44f0ec0..08f592db 100644
--- a/v10.7.0/output/pydis_core.utils.error_handling.html
+++ b/v10.7.0/output/pydis_core.utils.error_handling.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.utils.function.html b/v10.7.0/output/pydis_core.utils.function.html
index c8660ac4..0a7eb4ff 100644
--- a/v10.7.0/output/pydis_core.utils.function.html
+++ b/v10.7.0/output/pydis_core.utils.function.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.utils.html b/v10.7.0/output/pydis_core.utils.html
index 5a96c677..7f81a142 100644
--- a/v10.7.0/output/pydis_core.utils.html
+++ b/v10.7.0/output/pydis_core.utils.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.utils.interactions.html b/v10.7.0/output/pydis_core.utils.interactions.html
index 6a00ea64..22db36dd 100644
--- a/v10.7.0/output/pydis_core.utils.interactions.html
+++ b/v10.7.0/output/pydis_core.utils.interactions.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.utils.lock.html b/v10.7.0/output/pydis_core.utils.lock.html
index 0f9614f8..8b016f62 100644
--- a/v10.7.0/output/pydis_core.utils.lock.html
+++ b/v10.7.0/output/pydis_core.utils.lock.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.lock.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.lock.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.utils.logging.html b/v10.7.0/output/pydis_core.utils.logging.html
index 4679961f..47c335f6 100644
--- a/v10.7.0/output/pydis_core.utils.logging.html
+++ b/v10.7.0/output/pydis_core.utils.logging.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.utils.members.html b/v10.7.0/output/pydis_core.utils.members.html
index b5353950..086c658b 100644
--- a/v10.7.0/output/pydis_core.utils.members.html
+++ b/v10.7.0/output/pydis_core.utils.members.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.utils.messages.html b/v10.7.0/output/pydis_core.utils.messages.html
index fb3d0502..0201385c 100644
--- a/v10.7.0/output/pydis_core.utils.messages.html
+++ b/v10.7.0/output/pydis_core.utils.messages.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.messages.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.messages.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.utils.pagination.html b/v10.7.0/output/pydis_core.utils.pagination.html
index 2d2dcf66..11272bfc 100644
--- a/v10.7.0/output/pydis_core.utils.pagination.html
+++ b/v10.7.0/output/pydis_core.utils.pagination.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.pagination.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.pagination.html">v11.0.0</a>
</li>
@@ -391,7 +395,7 @@
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
-<li><p><strong>pagination_emojis</strong> (<a class="reference internal" href="#pydis_core.utils.pagination.PaginationEmojis" title="pydis_core.utils.pagination.PaginationEmojis"><em>PaginationEmojis</em></a>) – The emojis used to navigate pages.</p></li>
+<li><p><strong>pagination_emojis</strong> (<a class="reference internal" href="pydis_core.html#pydis_core.PaginationEmojis" title="pydis_core.utils.pagination.PaginationEmojis"><em>PaginationEmojis</em></a>) – The emojis used to navigate pages.</p></li>
<li><p><strong>prefix</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – The prefix inserted to every page. e.g. three backticks.</p></li>
<li><p><strong>suffix</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – The suffix appended at the end of every page. e.g. three backticks.</p></li>
<li><p><strong>max_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a>) – The maximum amount of codepoints allowed in a page.</p></li>
@@ -448,7 +452,7 @@ to any user with a moderation role.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
-<li><p><strong>pagination_emojis</strong> (<a class="reference internal" href="#pydis_core.utils.pagination.PaginationEmojis" title="pydis_core.utils.pagination.PaginationEmojis"><em>PaginationEmojis</em></a>) – The emojis used to navigate pages.</p></li>
+<li><p><strong>pagination_emojis</strong> (<a class="reference internal" href="pydis_core.html#pydis_core.PaginationEmojis" title="pydis_core.utils.pagination.PaginationEmojis"><em>PaginationEmojis</em></a>) – The emojis used to navigate pages.</p></li>
<li><p><strong>lines</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.12)"><em>list</em></a><em>[</em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a><em>]</em>) – A list of lines to be added to the paginated content.</p></li>
<li><p><strong>ctx</strong> (<a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Context" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.ext.commands.Context</span></code></a>) – The context in which the pagination is needed.</p></li>
<li><p><strong>embed</strong> (<a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Embed" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.Embed</span></code></a>) – The embed that holds the content, it serves as the page.</p></li>
diff --git a/v10.7.0/output/pydis_core.utils.paste_service.html b/v10.7.0/output/pydis_core.utils.paste_service.html
index 27a201fa..a36e13c5 100644
--- a/v10.7.0/output/pydis_core.utils.paste_service.html
+++ b/v10.7.0/output/pydis_core.utils.paste_service.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.utils.regex.html b/v10.7.0/output/pydis_core.utils.regex.html
index a5f98811..9173196a 100644
--- a/v10.7.0/output/pydis_core.utils.regex.html
+++ b/v10.7.0/output/pydis_core.utils.regex.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/output/pydis_core.utils.scheduling.html b/v10.7.0/output/pydis_core.utils.scheduling.html
index 4f099219..36b76a55 100644
--- a/v10.7.0/output/pydis_core.utils.scheduling.html
+++ b/v10.7.0/output/pydis_core.utils.scheduling.html
@@ -280,6 +280,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/py-modindex.html b/v10.7.0/py-modindex.html
index 80e3c1ee..a42f5589 100644
--- a/v10.7.0/py-modindex.html
+++ b/v10.7.0/py-modindex.html
@@ -278,6 +278,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/search.html b/v10.7.0/search.html
index 08573c93..fba9e16f 100644
--- a/v10.7.0/search.html
+++ b/v10.7.0/search.html
@@ -277,6 +277,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v10.7.0/searchindex.js b/v10.7.0/searchindex.js
index 3b174de6..60ffa916 100644
--- a/v10.7.0/searchindex.js
+++ b/v10.7.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.checks", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.lock", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.messages", "output/pydis_core.utils.pagination", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.checks.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.lock.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.messages.rst", "output/pydis_core.utils.pagination.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "checks", "commands", "cooldown", "error_handling", "function", "interactions", "lock", "logging", "members", "messages", "pagination", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "7": 0, "0": [0, 8, 10, 15, 16, 17], "30th": 0, "januari": 0, "2024": 0, "featur": [0, 1, 3], "194": 0, "add": [0, 3, 10, 12, 20], "pydis_cor": [0, 1, 3, 15, 17], "util": [0, 1, 2, 3, 8, 14, 15, 17], "interact": [0, 3, 7, 9, 20], "user_has_access": [0, 3, 7, 15], "helper": [0, 9, 12, 18], "function": [0, 3, 7, 8, 9, 12, 16, 17, 18, 20, 23], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23], "whether": [0, 3, 6, 9, 10, 15, 20], "given": [0, 3, 4, 7, 9, 11, 14, 16, 17, 18, 23], "user": [0, 3, 10, 12, 15, 19, 20], "i": [0, 1, 3, 6, 7, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23], "allowed_us": [0, 15, 19], "list": [0, 1, 3, 15, 20, 21], "ha": [0, 7, 10, 15], "role": [0, 1, 3, 10, 15, 18, 19, 20], "from": [0, 1, 3, 4, 6, 7, 9, 14, 15, 18, 20, 21, 23], "allowed_rol": [0, 1, 3, 15, 19, 20], "158": 0, "lock": [0, 3, 7], "control": 0, "concurr": 0, "logic": 0, "support": [0, 4, 7, 23], "202": 0, "bump": 0, "variou": [0, 9], "develop": [0, 2, 3, 7], "depend": [0, 9], "ci": 0, "workflow": 0, "action": 0, "version": [0, 11], "6": 0, "199": 0, "port": [0, 4], "common": [0, 1, 3, 7, 17, 22], "discord": [0, 1, 3, 5, 7, 9, 10, 11, 13, 14, 18, 20, 22], "command": [0, 1, 3, 7, 9, 10, 12, 14, 16, 20], "check": [0, 3, 6, 7, 9, 12, 13, 15, 19, 23], "other": [0, 1, 16, 23], "bot": [0, 1, 3, 7, 9, 19], "189": 0, "messag": [0, 3, 7, 11, 12, 13, 15, 17, 20, 23], "reaction_check": [0, 3, 7, 19], "predic": 0, "dictat": 0, "right": [0, 3, 20], "specif": [0, 10], "set": [0, 1, 3, 12, 14, 15, 16, 20], "reaction": [0, 3, 19, 20], "base": [0, 3, 4, 6, 8, 10, 12, 14, 15, 16, 17, 20, 21, 23], "certain": [0, 1], "criteria": 0, "pagin": [0, 2, 3, 7], "linepagin": [0, 2, 3, 7, 20], "which": [0, 1, 3, 7, 10, 12, 14, 16, 20, 23], "allow": [0, 1, 3, 15, 19, 20, 21], "over": [0, 3, 20], "content": [0, 3, 11, 20, 21], "us": [0, 1, 3, 4, 6, 7, 9, 10, 12, 14, 16, 17, 18, 20, 21, 22, 23], "emb": [0, 3, 20], "emoji": [0, 3, 19, 20], "facilit": 0, "navig": [0, 1, 3, 20], "5": [0, 12], "1": [0, 17], "14th": 0, "decemb": 0, "2023": 0, "bug": 0, "200": 0, "do": [0, 1, 9, 16], "attempt": [0, 3, 9, 16, 18, 20], "read": 0, "respons": [0, 6, 21], "bodi": 0, "http": [0, 6, 21, 22], "code": [0, 1, 3, 6, 16, 20, 22], "204": [0, 6], "previous": 0, "onli": [0, 3], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "delet": [0, 3, 6, 8, 15, 20, 21], "did": 0, "thi": [0, 1, 3, 7, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 23], "10th": 0, "197": 0, "mark": 0, "tild": 0, "specifi": [0, 10, 12, 15], "pydi": [0, 2], "core": [0, 1], "newer": 0, "librari": [0, 1], "without": [0, 10], "u": [0, 3, 20], "have": [0, 9, 10, 14, 17], "cut": 0, "new": [0, 1, 3, 4, 6, 8, 14, 20, 23], "releas": 0, "4": 0, "26th": 0, "octob": 0, "196": 0, "mani": [0, 3, 8], "aiodn": 0, "3": 0, "19th": 0, "septemb": 0, "195": 0, "websocket": 0, "chardet": 0, "async_rediscach": [0, 3], "logger": [0, 17], "warn": [0, 23], "level": [0, 7, 17], "asyncio": [0, 4, 23], "info": [0, 1], "default": [0, 1, 3, 10, 14, 20, 21], "log_format": [0, 3, 7, 17], "log": [0, 3, 7, 13, 18, 23], "standardis": [0, 17], "across": [0, 3, 17, 20], "all": [0, 1, 3, 4, 7, 16, 17, 23], "servic": [0, 1, 3, 21], "2": [0, 3, 15], "28th": 0, "august": 0, "192": 0, "py": [0, 3, 14], "25th": 0, "juli": 0, "190": 0, "overwrit": [0, 3], "ext": [0, 2, 3, 7, 9, 10, 11, 20], "process_command": [0, 2, 3], "ensur": [0, 3, 15, 22], "ar": [0, 1, 3, 8, 14, 15, 19, 20, 22], "process": [0, 3], "until": [0, 3, 16, 22], "extens": [0, 3], "load": [0, 1, 3, 7], "work": [0, 1], "client": [0, 3, 4], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "break": [0, 3, 14, 20], "188": 0, "send": [0, 3, 6, 15, 20], "multipl": 0, "file": [0, 1, 21], "onc": [0, 8], "past": [0, 21, 23], "call": [0, 3, 12, 14, 23], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 21], "must": [0, 14, 16, 23], "now": [0, 1, 23], "provid": [0, 1, 3, 8, 11, 13, 20, 23], "pastefil": [0, 3, 7, 21], "184": 0, "remov": [0, 3, 15, 19, 20, 21], "store": [0, 3, 7, 8, 20], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 15], "when": [0, 3, 4, 6, 7, 8, 10, 12, 14, 16, 20, 21, 23], "stop": [0, 7, 15], "addit": 0, "exist": [0, 1, 23], "timeout": [0, 3, 15, 20], "187": 0, "fix": 0, "channel": [0, 3, 7, 10, 12], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 3, 7, 8, 10, 11, 12, 14, 15, 16, 17, 19, 20, 22, 23], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23], "includ": [0, 1, 13], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "9": 0, "2nd": 0, "185": 0, "updat": [0, 14], "expiri": 0, "label": [0, 15], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "lexer": [0, 21], "valid": 0, "pastebin": 0, "url": [0, 3, 6, 20, 21], "pythondiscord": [0, 21], "com": [0, 21], "8": 0, "13th": 0, "181": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": [0, 3, 20], "handl": [0, 13, 18, 23], "forbidden": [0, 9, 13], "90001": [0, 13], "error": [0, 3, 6, 7, 13, 18, 21], "schedul": [0, 3, 7], "179": 0, "upload": [0, 21], "text": [0, 3, 6, 11, 20, 21], "our": [0, 1, 7], "6th": 0, "mai": [0, 3, 8, 16, 20], "175": 0, "wait": [0, 3, 7, 16, 23], "guild": [0, 1, 3, 10, 18], "avail": [0, 3, 16], "befor": [0, 3, 10, 15, 16, 20, 23], "cog": [0, 3, 5], "march": 0, "174": 0, "februari": 0, "173": 0, "9th": 0, "172": 0, "24th": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 15, 20, 23], "been": 0, "also": [0, 3, 7, 14, 15, 16, 20], "need": [0, 1, 3, 20], "run": [0, 1, 12, 16, 23], "task": [0, 23], "23rd": 0, "170": 0, "save": [0, 3, 21], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 12, 14, 20, 23], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 22], "member": [0, 3, 7, 15], "get_or_fetch_memb": [0, 3, 7, 18], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 21, 23], "11": 0, "162": 0, "being": [0, 7, 10, 18], "abl": 0, "button": [0, 15], "press": 0, "88": 0, "decor": [0, 8, 10, 12, 14, 16], "success": [0, 21], "duplic": [0, 12], "invoc": [0, 12], "5th": 0, "157": 0, "renam": 0, "project": [0, 1, 17], "publish": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 22], "option": [0, 8, 14, 16], "match": [0, 3, 14], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 21], "rediscach": 0, "v1": [0, 3, 20, 21], "rc2": 0, "107": 0, "declar": 0, "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 10, 14, 23], "108": 0, "101": 0, "clean": [0, 11], "string": [0, 6], "referenc": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 10, 14, 16, 17, 20, 21, 23], "On": 0, "view": [0, 15], "its": [0, 3, 12, 14], "104": 0, "deletemessagebutton": [0, 3, 7, 15], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 17], "103": 0, "attach": 0, "parent": [0, 15], "gener": [0, 3, 12, 23], "98": 0, "close": [0, 2, 3, 6, 23], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 10, 23], "91": 0, "miss": 0, "await": [0, 3, 12, 15, 16, 18, 20], "ping_servic": [0, 2, 3], "some": [0, 3, 20, 21], "case": [0, 3, 20], "pass": [0, 6, 14, 17, 18, 23], "self": [0, 3, 15], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 18], "96": 0, "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 17, 20], "older": 0, "doc": [0, 16], "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 10, 23], "out": [0, 1, 15], "75": 0, "invit": [0, 22], "longer": [0, 15], "safe": 0, "result": [0, 23], "captur": [0, 14, 22], "charact": [0, 3, 20], "up": [0, 1, 3, 20], "whitespac": [0, 22], "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3, 10, 20], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "number": [0, 3, 10, 20, 21], "so": [0, 1, 7], "should": [0, 1, 3, 6, 15, 20, 21], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 14, 18], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 14], "main": 0, "don": [0, 10, 23], "t": [0, 10, 11, 13, 14, 16, 23], "modul": [0, 3, 7, 14, 23], "start": [0, 3, 23], "_": 0, "66": 0, "each": [0, 3, 20], "own": [0, 14], "avoid": [0, 3, 20], "singl": [0, 3, 20], "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 16, 23], "manipul": [0, 14], "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 3, 14, 20], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 17], "basic": [0, 15], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 10, 12, 15, 16, 20, 23], "instanc": [0, 3, 6, 8, 9, 10, 17, 23], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 21], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "event": [0, 3, 4, 16, 23], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3, 16, 20], "made": [0, 19], "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 21], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 12, 15, 16, 17, 20, 21, 23], "abstract": 0, "lot": 0, "share": [0, 14], "between": [0, 1, 14], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 17], "import": 0, "can": [0, 1, 3, 10, 15, 16, 17, 20, 23], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "api": [0, 6, 18], "wrapper": [0, 6, 12, 14, 23], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "cach": [0, 3, 7, 9, 18], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 3, 7, 15, 17, 20], "intersphinx": 0, "12": 0, "block": [0, 3, 12, 20, 22], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "To": [1, 3, 17], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 14], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 14, 15, 16], "below": [1, 16], "more": [1, 3, 14, 16, 20], "both": [1, 21], "what": 1, "go": [1, 3, 16, 20], "them": [1, 3, 14, 23], "you": [1, 9, 22], "ll": [1, 23], "write": 1, "might": [1, 10], "mean": 1, "modifi": [1, 18], "ones": 1, "etc": [1, 10], "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 23], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 20, 21, 23], "vari": 1, "re": [1, 3, 13, 19, 23], "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 3, 10, 15, 20, 21, 23], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 14, 19], "free": 1, "howev": 1, "like": [1, 14], "m": 1, "docker": 1, "compos": 1, "d": [1, 14], "configur": [1, 3, 20, 21], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 3, 4, 20], "invok": [1, 10, 12, 15], "mention": [1, 3], "A": [1, 3, 6, 7, 8, 9, 10, 12, 14, 15, 17, 20, 21, 23], "comma": 1, "seper": 1, "id": [1, 3, 7, 9, 10, 15, 16, 20, 23], "anyth": [1, 21], "reinstal": 1, "applic": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8, 16], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "emptypaginatorembederror": [2, 3, 7, 20], "add_lin": [2, 3, 7, 20], "paginationemoji": [2, 3, 7, 20], "model_computed_field": [2, 3, 7, 20, 21], "model_config": [2, 3, 7, 20, 21], "model_field": [2, 3, 7, 20, 21], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": [2, 3, 20], "inform": [2, 16, 17], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12, 14, 16, 17], "http_session": [3, 21], "redis_sess": 3, "kwarg": [3, 6, 12, 14, 15, 17, 23], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "implement": [3, 4, 8, 15, 17], "initialis": [3, 8], "int": [3, 4, 8, 9, 10, 14, 15, 20, 21, 23], "clientsess": [3, 6, 21], "redissess": 3, "str": [3, 4, 6, 7, 10, 11, 14, 15, 16, 17, 20, 21, 23], "server": [3, 22], "If": [3, 6, 10, 12, 14, 15, 16, 19, 20, 23], "oper": [3, 16, 20, 23], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 15, 23], "instead": [3, 12, 23], "connector": 3, "resolv": [3, 14], "sync_app_command": 3, "true": [3, 6, 10, 12, 16, 17, 19, 20, 21, 23], "all_extens": 3, "bool": [3, 6, 9, 10, 12, 15, 16, 19, 20, 23], "intern": [3, 7, 16], "becom": [3, 16], "appear": 3, "still": [3, 20], "empti": [3, 20], "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 14, 19], "relev": 3, "name": [3, 7, 14, 16, 17, 20, 21, 23], "alia": [3, 7, 12], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 14], "second": [3, 10, 12, 15, 20, 23], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 10, 12, 14, 16, 17, 20, 21, 23], "rais": [3, 6, 9, 10, 11, 12, 13, 14, 16, 18, 20, 21, 23], "suffix": [3, 20], "max_siz": [3, 8, 20, 21], "4000": [3, 20], "scale_to_s": [3, 20], "max_lin": [3, 20], "linesep": [3, 20], "n": [3, 20], "aid": [3, 20], "pagination_emoji": [3, 20], "insert": [3, 20], "everi": [3, 20], "e": [3, 20], "g": [3, 20], "three": [3, 20], "backtick": [3, 20], "append": [3, 20], "end": [3, 20], "maximum": [3, 8, 20, 21], "amount": [3, 20], "codepoint": [3, 20], "line": [3, 20], "scale": [3, 20], "overrid": [3, 20], "insid": [3, 20], "It": [3, 7, 16, 20], "order": [3, 8, 14, 16, 20, 23], "per": [3, 10, 20], "fals": [3, 10, 12, 16, 20, 21], "current": [3, 16, 20, 23], "exce": [3, 8, 20], "overflow": [3, 20], "word": [3, 20], "exceed": [3, 20], "excess": [3, 20], "place": [3, 20], "next": [3, 20], "unti": [3, 20], "remain": [3, 20], "boundari": [3, 20], "truncat": [3, 20], "continu": [3, 20], "onto": [3, 20], "In": [3, 20], "alreadi": [3, 20, 23], "would": [3, 20], "caus": [3, 7, 20], "done": [3, 15, 20, 23], "best": [3, 20], "effort": [3, 20], "while": [3, 12, 16, 20], "keep": [3, 20, 23], "total": [3, 20], "length": [3, 12, 20], "reason": [3, 20], "size": [3, 8, 20, 21], "indic": [3, 18, 20], "classmethod": [3, 20], "ctx": [3, 10, 11, 15, 20], "500": [3, 20], "restrict_to_us": [3, 20], "300": [3, 20], "footer_text": [3, 20], "exception_on_empty_emb": [3, 20], "repli": [3, 11, 12, 13, 20], "switch": [3, 20], "finish": [3, 16, 20], "appli": [3, 7, 8, 10, 12, 16, 20, 21], "These": [3, 20], "five": [3, 20], "minut": [3, 20], "limit": [3, 20], "author": [3, 10, 19, 20], "ani": [3, 6, 10, 14, 16, 20, 22, 23], "moder": [3, 15, 19, 20], "context": [3, 10, 11, 16, 20], "hold": [3, 16, 20], "serv": [3, 20], "whom": [3, 20], "restrict": [3, 20], "anymor": [3, 20], "footer": [3, 20], "sequenc": [3, 7, 14, 15, 20], "exampl": [3, 20], "set_author": [3, 20], "icon_url": [3, 20], "icon": [3, 20], "data": [3, 20, 21], "basemodel": [3, 20, 21], "classvar": [3, 20, 21], "dict": [3, 6, 14, 20, 21], "computedfieldinfo": [3, 20, 21], "dictionari": [3, 20, 21], "comput": [3, 20, 21], "field": [3, 20, 21], "correspond": [3, 20, 21], "object": [3, 6, 7, 8, 9, 12, 16, 18, 20, 21, 23], "configdict": [3, 20, 21], "model": [3, 20, 21], "conform": [3, 20, 21], "pydant": [3, 20, 21], "config": [3, 20, 21], "fieldinfo": [3, 20, 21], "annot": [3, 14, 20, 21], "trashcan": [3, 20], "637136429717389331": [3, 20], "first": [3, 20], "last": [3, 10, 15, 20], "left": [3, 20], "metadata": [3, 20, 21], "about": [3, 12, 20, 21], "defin": [3, 20, 21], "map": [3, 14, 16, 20, 21], "replac": [3, 10, 14, 20, 21], "__fields__": [3, 20, 21], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "contextcheckfailur": [3, 7, 10], "inwhitelistcheckfailur": [3, 7, 10], "cooldown_with_role_bypass": [3, 7, 10], "has_any_role_check": [3, 7, 10], "has_no_roles_check": [3, 7, 10], "in_whitelist_check": [3, 7, 10], "clean_text_or_repli": [3, 7, 11], "cooldown": [3, 7, 10], "commandoncooldown": [3, 7, 12], "p": [3, 7, 12], "r": [3, 7, 12], "block_duplicate_invoc": [3, 7, 12], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 13], "globalnameconflicterror": [3, 7, 14], "command_wrap": [3, 7, 14], "get_arg_valu": [3, 7, 14], "get_arg_value_wrapp": [3, 7, 14], "get_bound_arg": [3, 7, 14], "update_wrapper_glob": [3, 7, 14], "lockedresourceerror": [3, 7, 16], "sharedev": [3, 7, 16], "lock_arg": [3, 7, 16], "customlogg": [3, 7, 17], "get_logg": [3, 7, 17], "max_paste_s": [3, 7, 21], "pasterespons": [3, 7, 21], "pastetoolongerror": [3, 7, 21], "pasteunsupportedlexererror": [3, 7, 21], "pasteuploaderror": [3, 7, 21], "formatted_code_regex": [3, 7, 22], "raw_code_regex": [3, 7, 22], "create_task": [3, 7, 23], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 21], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 23], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 23], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "django": 6, "initi": [6, 23], "authent": 6, "keyword": [6, 7, 14, 17], "argument": [6, 7, 8, 11, 12, 14, 16, 17, 18], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "ok": 6, "clientrespons": 6, "json": 6, "extra": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 14, 21], "represent": 6, "group": [7, 22], "root_alias": 7, "two": 7, "act": 7, "top": 7, "rather": 7, "than": [7, 21], "attribut": [7, 14], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 12], "callback": [7, 10, 15], "interaction_check": [7, 15], "on_timeout": [7, 15], "__enter__": [7, 16], "__exit__": [7, 16], "__contains__": [7, 23], "cancel": [7, 23], "cancel_al": [7, 23], "schedule_at": [7, 23], "schedule_lat": [7, 23], "relat": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 18, 23], "kei": 8, "fifo": 8, "offset": 8, "arg_offset": 8, "posit": [8, 14, 16], "callabl": [8, 10, 12, 14, 16, 18], "wrap": [8, 14, 23], "target": 8, "item": 8, "channel_id": 9, "fetch": [9, 18], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 10, 21], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": [9, 10], "textchannel": 9, "redirect_channel": 10, "checkfailur": 10, "in_whitelist": 10, "rate": 10, "bypass_rol": 10, "bypass": 10, "note": 10, "before_invok": 10, "introduc": 10, "problem": [10, 17], "futur": [10, 23], "trigger": 10, "float": [10, 12, 15, 23], "durat": 10, "long": [10, 21, 23], "buckettyp": 10, "iter": [10, 12], "describ": 10, "behavior": 10, "typeerror": [10, 14], "verifi": 10, "alwai": 10, "dm": 10, "sinc": 10, "where": 10, "union": 10, "collect": 10, "least": 10, "otherwis": [10, 16, 23], "doesn": [10, 23], "redirect": 10, "fail_sil": 10, "issu": 10, "whitelist": 10, "silent": 10, "badargu": 11, "wasn": 11, "els": 11, "commanderror": 12, "typevar": [12, 14, 23], "valu": [12, 14, 16, 17], "signatur": 12, "cooldown_dur": 12, "send_notic": 12, "args_preprocessor": 12, "prevent": [12, 16, 23], "same": [12, 23], "notifi": 12, "paramspec": [12, 14], "raw": [12, 22], "isn": [13, 14], "conflict": 14, "global": 14, "assign": 14, "__module__": 14, "__name__": 14, "__qualname__": 14, "__doc__": 14, "__annotations__": 14, "__dict__": 14, "ignored_conflict_nam": 14, "frozenset": 14, "look": [14, 23], "forwardref": 14, "evalu": 14, "detail": 14, "_p": 14, "_r": 14, "found": [14, 18, 23], "behav": 14, "functool": 14, "name_or_po": [14, 16], "ordereddict": [14, 16], "doe": 14, "decorator_func": 14, "func": [14, 16], "accept": [14, 15], "bind": 14, "tupl": [14, 23], "For": 14, "__global__": 14, "state": 14, "won": 14, "reflect": 14, "typehint": 14, "style": 15, "secondari": 15, "click": 15, "itself": 15, "carri": 15, "buttonstyl": 15, "origin": 15, "180": 15, "who": 15, "ui": 15, "input": 15, "similar": [15, 22], "occur": 15, "listen": 15, "access": 15, "resource_typ": 16, "resource_id": 16, "runtimeerror": 16, "resourc": 16, "hashabl": [16, 23], "manag": 16, "expos": 16, "through": 16, "coro": [16, 18, 23], "execut": [16, 23], "underli": 16, "holder": 16, "increment": 16, "count": 16, "activ": 16, "_exc_typ": 16, "_exc_val": 16, "_exc_tb": 16, "decrement": 16, "reach": 16, "exit": 16, "raise_error": 16, "turn": 16, "mutual": 16, "exclus": 16, "identifi": [16, 23], "collis": 16, "among": 16, "perform": 16, "acquir": 16, "msg": 17, "sever": 17, "exc_info": 17, "houston": 17, "we": [17, 18], "interest": 17, "mypi": 17, "recognis": 17, "formatt": 17, "interactin": 18, "member_id": 18, "failur": 18, "could": 18, "sole": 18, "expect": 18, "add_rol": 18, "remove_rol": 18, "purpos": 18, "intend": 18, "message_id": 19, "allowed_emoji": 19, "allow_mod": 19, "even": 19, "524288": 21, "byte": 21, "format": [21, 22], "link": 21, "too": 21, "larg": 21, "unsupport": 21, "encount": 21, "paste_url": 21, "max": 21, "larger": 21, "reject": 21, "max_length": 21, "greater": 21, "regular": 22, "express": 22, "pattern": 22, "pleas": 22, "sanitis": 22, "output": 22, "someth": 22, "urllib": 22, "pars": 22, "quot": 22, "track": 23, "distinguish": 23, "suggest": 23, "immedi": 23, "uniqu": 23, "prematur": 23, "task_id": 23, "unschedul": 23, "known": 23, "unawait": 23, "elsewher": 23, "timezon": 23, "awar": 23, "calcul": 23, "subtract": 23, "na\u00efv": 23, "utc": 23, "datetim": 23, "delai": 23, "suppressed_except": 23, "event_loop": 23, "task_return": 23}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "EmptyPaginatorEmbedError"], [3, 1, 1, "", "LinePaginator"], [3, 1, 1, "", "PaginationEmojis"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.LinePaginator": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_line"], [3, 2, 1, "", "paginate"]], "pydis_core.PaginationEmojis": [[3, 4, 1, "", "model_computed_fields"], [3, 4, 1, "", "model_config"], [3, 4, 1, "", "model_fields"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 5, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "checks"], [11, 0, 0, "-", "commands"], [12, 0, 0, "-", "cooldown"], [13, 0, 0, "-", "error_handling"], [14, 0, 0, "-", "function"], [15, 0, 0, "-", "interactions"], [16, 0, 0, "-", "lock"], [17, 0, 0, "-", "logging"], [18, 0, 0, "-", "members"], [19, 0, 0, "-", "messages"], [20, 0, 0, "-", "pagination"], [21, 0, 0, "-", "paste_service"], [22, 0, 0, "-", "regex"], [23, 0, 0, "-", "scheduling"], [7, 5, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 5, 1, "", "get_or_fetch_channel"], [9, 5, 1, "", "is_in_category"]], "pydis_core.utils.checks": [[10, 3, 1, "", "ContextCheckFailure"], [10, 3, 1, "", "InWhitelistCheckFailure"], [10, 5, 1, "", "cooldown_with_role_bypass"], [10, 5, 1, "", "has_any_role_check"], [10, 5, 1, "", "has_no_roles_check"], [10, 5, 1, "", "in_whitelist_check"]], "pydis_core.utils.checks.ContextCheckFailure": [[10, 2, 1, "", "__init__"]], "pydis_core.utils.commands": [[11, 5, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[12, 3, 1, "", "CommandOnCooldown"], [12, 6, 1, "", "P"], [12, 1, 1, "", "R"], [12, 5, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[12, 2, 1, "", "__init__"], [12, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[13, 5, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[14, 3, 1, "", "GlobalNameConflictError"], [14, 5, 1, "", "command_wraps"], [14, 5, 1, "", "get_arg_value"], [14, 5, 1, "", "get_arg_value_wrapper"], [14, 5, 1, "", "get_bound_args"], [14, 5, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[15, 1, 1, "", "DeleteMessageButton"], [15, 1, 1, "", "ViewWithUserAndRoleCheck"], [15, 5, 1, "", "user_has_access"]], "pydis_core.utils.interactions.DeleteMessageButton": [[15, 2, 1, "", "__init__"], [15, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[15, 2, 1, "", "__init__"], [15, 2, 1, "", "interaction_check"], [15, 2, 1, "", "on_timeout"], [15, 2, 1, "", "stop"]], "pydis_core.utils.lock": [[16, 3, 1, "", "LockedResourceError"], [16, 1, 1, "", "SharedEvent"], [16, 5, 1, "", "lock"], [16, 5, 1, "", "lock_arg"]], "pydis_core.utils.lock.LockedResourceError": [[16, 2, 1, "", "__init__"], [16, 4, 1, "", "id"], [16, 4, 1, "", "type"]], "pydis_core.utils.lock.SharedEvent": [[16, 2, 1, "", "__enter__"], [16, 2, 1, "", "__exit__"], [16, 2, 1, "", "__init__"], [16, 2, 1, "", "wait"]], "pydis_core.utils.logging": [[17, 1, 1, "", "CustomLogger"], [17, 5, 1, "", "get_logger"], [17, 6, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[17, 2, 1, "", "trace"]], "pydis_core.utils.members": [[18, 5, 1, "", "get_or_fetch_member"], [18, 5, 1, "", "handle_role_change"]], "pydis_core.utils.messages": [[19, 5, 1, "", "reaction_check"]], "pydis_core.utils.pagination": [[20, 3, 1, "", "EmptyPaginatorEmbedError"], [20, 1, 1, "", "LinePaginator"], [20, 1, 1, "", "PaginationEmojis"]], "pydis_core.utils.pagination.LinePaginator": [[20, 2, 1, "", "__init__"], [20, 2, 1, "", "add_line"], [20, 2, 1, "", "paginate"]], "pydis_core.utils.pagination.PaginationEmojis": [[20, 4, 1, "", "model_computed_fields"], [20, 4, 1, "", "model_config"], [20, 4, 1, "", "model_fields"]], "pydis_core.utils.paste_service": [[21, 6, 1, "", "MAX_PASTE_SIZE"], [21, 1, 1, "", "PasteFile"], [21, 1, 1, "", "PasteResponse"], [21, 3, 1, "", "PasteTooLongError"], [21, 3, 1, "", "PasteUnsupportedLexerError"], [21, 3, 1, "", "PasteUploadError"], [21, 5, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[21, 4, 1, "", "model_computed_fields"], [21, 4, 1, "", "model_config"], [21, 4, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[21, 4, 1, "", "model_computed_fields"], [21, 4, 1, "", "model_config"], [21, 4, 1, "", "model_fields"]], "pydis_core.utils.regex": [[22, 6, 1, "", "DISCORD_INVITE"], [22, 6, 1, "", "FORMATTED_CODE_REGEX"], [22, 6, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[23, 1, 1, "", "Scheduler"], [23, 5, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[23, 2, 1, "", "__contains__"], [23, 2, 1, "", "__init__"], [23, 2, 1, "", "cancel"], [23, 2, 1, "", "cancel_all"], [23, 2, 1, "", "schedule"], [23, 2, 1, "", "schedule_at"], [23, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:attribute", "5": "py:function", "6": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "check": 10, "command": 11, "cooldown": 12, "error_handl": 13, "function": 14, "interact": 15, "lock": 16, "log": 17, "member": 18, "messag": 19, "pagin": 20, "paste_servic": 21, "regex": 22, "schedul": 23}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"caching": [[8, "module-pydis_core.utils.caching"]], "site_api": [[6, "module-pydis_core.site_api"]], "channel": [[9, "module-pydis_core.utils.channel"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "checks": [[10, "module-pydis_core.utils.checks"]], "commands": [[11, "module-pydis_core.utils.commands"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Changelog": [[0, "changelog"]], "Exts": [[5, "module-pydis_core.exts"]], "regex": [[22, "module-pydis_core.utils.regex"]], "paste_service": [[21, "module-pydis_core.utils.paste_service"]], "messages": [[19, "module-pydis_core.utils.messages"]], "members": [[18, "module-pydis_core.utils.members"]], "pagination": [[20, "module-pydis_core.utils.pagination"]], "scheduling": [[23, "module-pydis_core.utils.scheduling"]], "lock": [[16, "module-pydis_core.utils.lock"]], "error_handling": [[13, "module-pydis_core.utils.error_handling"]], "interactions": [[15, "module-pydis_core.utils.interactions"]], "cooldown": [[12, "module-pydis_core.utils.cooldown"]], "logging": [[17, "module-pydis_core.utils.logging"]], "function": [[14, "module-pydis_core.utils.function"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "emptypaginatorembederror": [[3, "pydis_core.EmptyPaginatorEmbedError"], [20, "pydis_core.utils.pagination.EmptyPaginatorEmbedError"]], "linepaginator (class in pydis_core)": [[3, "pydis_core.LinePaginator"]], "paginationemojis (class in pydis_core)": [[3, "pydis_core.PaginationEmojis"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (linepaginator method)": [[3, "pydis_core.LinePaginator.__init__"], [20, "pydis_core.utils.pagination.LinePaginator.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "add_line() (linepaginator method)": [[3, "pydis_core.LinePaginator.add_line"], [20, "pydis_core.utils.pagination.LinePaginator.add_line"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "model_computed_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_computed_fields"], [20, "pydis_core.utils.pagination.PaginationEmojis.model_computed_fields"]], "model_config (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_config"], [20, "pydis_core.utils.pagination.PaginationEmojis.model_config"]], "model_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_fields"], [20, "pydis_core.utils.pagination.PaginationEmojis.model_fields"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.checks"], [11, "module-pydis_core.utils.commands"], [12, "module-pydis_core.utils.cooldown"], [13, "module-pydis_core.utils.error_handling"], [14, "module-pydis_core.utils.function"], [15, "module-pydis_core.utils.interactions"], [16, "module-pydis_core.utils.lock"], [17, "module-pydis_core.utils.logging"], [18, "module-pydis_core.utils.members"], [19, "module-pydis_core.utils.messages"], [20, "module-pydis_core.utils.pagination"], [21, "module-pydis_core.utils.paste_service"], [22, "module-pydis_core.utils.regex"], [23, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "paginate() (linepaginator class method)": [[3, "pydis_core.LinePaginator.paginate"], [20, "pydis_core.utils.pagination.LinePaginator.paginate"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "contextcheckfailure": [[10, "pydis_core.utils.checks.ContextCheckFailure"]], "inwhitelistcheckfailure": [[10, "pydis_core.utils.checks.InWhitelistCheckFailure"]], "__init__() (contextcheckfailure method)": [[10, "pydis_core.utils.checks.ContextCheckFailure.__init__"]], "cooldown_with_role_bypass() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.cooldown_with_role_bypass"]], "has_any_role_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_any_role_check"]], "has_no_roles_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_no_roles_check"]], "in_whitelist_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.in_whitelist_check"]], "pydis_core.utils.checks": [[10, "module-pydis_core.utils.checks"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[11, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[11, "module-pydis_core.utils.commands"]], "commandoncooldown": [[12, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[12, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[13, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[13, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[14, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.command_wraps"]], "get_arg_value() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.get_arg_value"]], "get_arg_value_wrapper() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.get_arg_value_wrapper"]], "get_bound_args() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.get_bound_args"]], "pydis_core.utils.function": [[14, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[15, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[15, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[15, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[15, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "user_has_access() (in module pydis_core.utils.interactions)": [[15, "pydis_core.utils.interactions.user_has_access"]], "lockedresourceerror": [[16, "pydis_core.utils.lock.LockedResourceError"]], "sharedevent (class in pydis_core.utils.lock)": [[16, "pydis_core.utils.lock.SharedEvent"]], "__enter__() (sharedevent method)": [[16, "pydis_core.utils.lock.SharedEvent.__enter__"]], "__exit__() (sharedevent method)": [[16, "pydis_core.utils.lock.SharedEvent.__exit__"]], "__init__() (lockedresourceerror method)": [[16, "pydis_core.utils.lock.LockedResourceError.__init__"]], "__init__() (sharedevent method)": [[16, "pydis_core.utils.lock.SharedEvent.__init__"]], "id (lockedresourceerror attribute)": [[16, "pydis_core.utils.lock.LockedResourceError.id"]], "lock() (in module pydis_core.utils.lock)": [[16, "pydis_core.utils.lock.lock"]], "lock_arg() (in module pydis_core.utils.lock)": [[16, "pydis_core.utils.lock.lock_arg"]], "pydis_core.utils.lock": [[16, "module-pydis_core.utils.lock"]], "type (lockedresourceerror attribute)": [[16, "pydis_core.utils.lock.LockedResourceError.type"]], "wait() (sharedevent method)": [[16, "pydis_core.utils.lock.SharedEvent.wait"]], "customlogger (class in pydis_core.utils.logging)": [[17, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[17, "pydis_core.utils.logging.get_logger"]], "log_format (in module pydis_core.utils.logging)": [[17, "pydis_core.utils.logging.log_format"]], "pydis_core.utils.logging": [[17, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[17, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[18, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[18, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[18, "module-pydis_core.utils.members"]], "pydis_core.utils.messages": [[19, "module-pydis_core.utils.messages"]], "reaction_check() (in module pydis_core.utils.messages)": [[19, "pydis_core.utils.messages.reaction_check"]], "linepaginator (class in pydis_core.utils.pagination)": [[20, "pydis_core.utils.pagination.LinePaginator"]], "paginationemojis (class in pydis_core.utils.pagination)": [[20, "pydis_core.utils.pagination.PaginationEmojis"]], "pydis_core.utils.pagination": [[20, "module-pydis_core.utils.pagination"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[21, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[21, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[21, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[21, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[21, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[21, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[21, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[21, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[21, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[21, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[21, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[21, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[21, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[21, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[22, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[22, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[22, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[22, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[23, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[23, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[23, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.checks", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.lock", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.messages", "output/pydis_core.utils.pagination", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.checks.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.lock.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.messages.rst", "output/pydis_core.utils.pagination.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "checks", "commands", "cooldown", "error_handling", "function", "interactions", "lock", "logging", "members", "messages", "pagination", "paste_service", "regex", "scheduling"], "terms": {"10": 0, "7": 0, "0": [0, 8, 10, 15, 16, 17], "30th": 0, "januari": 0, "2024": 0, "featur": [0, 1, 3], "194": 0, "add": [0, 3, 10, 12, 20], "pydis_cor": [0, 1, 3, 15, 17], "util": [0, 1, 2, 3, 8, 14, 15, 17], "interact": [0, 3, 7, 9, 20], "user_has_access": [0, 3, 7, 15], "helper": [0, 9, 12, 18], "function": [0, 3, 7, 8, 9, 12, 16, 17, 18, 20, 23], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23], "whether": [0, 3, 6, 9, 10, 15, 20], "given": [0, 3, 4, 7, 9, 11, 14, 16, 17, 18, 23], "user": [0, 3, 10, 12, 15, 19, 20], "i": [0, 1, 3, 6, 7, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23], "allowed_us": [0, 15, 19], "list": [0, 1, 3, 15, 20, 21], "ha": [0, 7, 10, 15], "role": [0, 1, 3, 10, 15, 18, 19, 20], "from": [0, 1, 3, 4, 6, 7, 9, 14, 15, 18, 20, 21, 23], "allowed_rol": [0, 1, 3, 15, 19, 20], "158": 0, "lock": [0, 3, 7], "control": 0, "concurr": 0, "logic": 0, "support": [0, 4, 7, 23], "202": 0, "bump": 0, "variou": [0, 9], "develop": [0, 2, 3, 7], "depend": [0, 9], "ci": 0, "workflow": 0, "action": 0, "version": [0, 11], "6": 0, "199": 0, "port": [0, 4], "common": [0, 1, 3, 7, 17, 22], "discord": [0, 1, 3, 5, 7, 9, 10, 11, 13, 14, 18, 20, 22], "command": [0, 1, 3, 7, 9, 10, 12, 14, 16, 20], "check": [0, 3, 6, 7, 9, 12, 13, 15, 19, 23], "other": [0, 1, 16, 23], "bot": [0, 1, 3, 7, 9, 19], "189": 0, "messag": [0, 3, 7, 11, 12, 13, 15, 17, 20, 23], "reaction_check": [0, 3, 7, 19], "predic": 0, "dictat": 0, "right": [0, 3, 20], "specif": [0, 10], "set": [0, 1, 3, 12, 14, 15, 16, 20], "reaction": [0, 3, 19, 20], "base": [0, 3, 4, 6, 8, 10, 12, 14, 15, 16, 17, 20, 21, 23], "certain": [0, 1], "criteria": 0, "pagin": [0, 2, 3, 7], "linepagin": [0, 2, 3, 7, 20], "which": [0, 1, 3, 7, 10, 12, 14, 16, 20, 23], "allow": [0, 1, 3, 15, 19, 20, 21], "over": [0, 3, 20], "content": [0, 3, 11, 20, 21], "us": [0, 1, 3, 4, 6, 7, 9, 10, 12, 14, 16, 17, 18, 20, 21, 22, 23], "emb": [0, 3, 20], "emoji": [0, 3, 19, 20], "facilit": 0, "navig": [0, 1, 3, 20], "5": [0, 12], "1": [0, 17], "14th": 0, "decemb": 0, "2023": 0, "bug": 0, "200": 0, "do": [0, 1, 9, 16], "attempt": [0, 3, 9, 16, 18, 20], "read": 0, "respons": [0, 6, 21], "bodi": 0, "http": [0, 6, 21, 22], "code": [0, 1, 3, 6, 16, 20, 22], "204": [0, 6], "previous": 0, "onli": [0, 3], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "delet": [0, 3, 6, 8, 15, 20, 21], "did": 0, "thi": [0, 1, 3, 7, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 23], "10th": 0, "197": 0, "mark": 0, "tild": 0, "specifi": [0, 10, 12, 15], "pydi": [0, 2], "core": [0, 1], "newer": 0, "librari": [0, 1], "without": [0, 10], "u": [0, 3, 20], "have": [0, 9, 10, 14, 17], "cut": 0, "new": [0, 1, 3, 4, 6, 8, 14, 20, 23], "releas": 0, "4": 0, "26th": 0, "octob": 0, "196": 0, "mani": [0, 3, 8], "aiodn": 0, "3": 0, "19th": 0, "septemb": 0, "195": 0, "websocket": 0, "chardet": 0, "async_rediscach": [0, 3], "logger": [0, 17], "warn": [0, 23], "level": [0, 7, 17], "asyncio": [0, 4, 23], "info": [0, 1], "default": [0, 1, 3, 10, 14, 20, 21], "log_format": [0, 3, 7, 17], "log": [0, 3, 7, 13, 18, 23], "standardis": [0, 17], "across": [0, 3, 17, 20], "all": [0, 1, 3, 4, 7, 16, 17, 23], "servic": [0, 1, 3, 21], "2": [0, 3, 15], "28th": 0, "august": 0, "192": 0, "py": [0, 3, 14], "25th": 0, "juli": 0, "190": 0, "overwrit": [0, 3], "ext": [0, 2, 3, 7, 9, 10, 11, 20], "process_command": [0, 2, 3], "ensur": [0, 3, 15, 22], "ar": [0, 1, 3, 8, 14, 15, 19, 20, 22], "process": [0, 3], "until": [0, 3, 16, 22], "extens": [0, 3], "load": [0, 1, 3, 7], "work": [0, 1], "client": [0, 3, 4], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "break": [0, 3, 14, 20], "188": 0, "send": [0, 3, 6, 15, 20], "multipl": 0, "file": [0, 1, 21], "onc": [0, 8], "past": [0, 21, 23], "call": [0, 3, 12, 14, 23], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 21], "must": [0, 14, 16, 23], "now": [0, 1, 23], "provid": [0, 1, 3, 8, 11, 13, 20, 23], "pastefil": [0, 3, 7, 21], "184": 0, "remov": [0, 3, 15, 19, 20, 21], "store": [0, 3, 7, 8, 20], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 15], "when": [0, 3, 4, 6, 7, 8, 10, 12, 14, 16, 20, 21, 23], "stop": [0, 7, 15], "addit": 0, "exist": [0, 1, 23], "timeout": [0, 3, 15, 20], "187": 0, "fix": 0, "channel": [0, 3, 7, 10, 12], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 3, 7, 8, 10, 11, 12, 14, 15, 16, 17, 19, 20, 22, 23], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23], "includ": [0, 1, 13], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "9": 0, "2nd": 0, "185": 0, "updat": [0, 14], "expiri": 0, "label": [0, 15], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "lexer": [0, 21], "valid": 0, "pastebin": 0, "url": [0, 3, 6, 20, 21], "pythondiscord": [0, 21], "com": [0, 21], "8": 0, "13th": 0, "181": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": [0, 3, 20], "handl": [0, 13, 18, 23], "forbidden": [0, 9, 13], "90001": [0, 13], "error": [0, 3, 6, 7, 13, 18, 21], "schedul": [0, 3, 7], "179": 0, "upload": [0, 21], "text": [0, 3, 6, 11, 20, 21], "our": [0, 1, 7], "6th": 0, "mai": [0, 3, 8, 16, 20], "175": 0, "wait": [0, 3, 7, 16, 23], "guild": [0, 1, 3, 10, 18], "avail": [0, 3, 16], "befor": [0, 3, 10, 15, 16, 20, 23], "cog": [0, 3, 5], "march": 0, "174": 0, "februari": 0, "173": 0, "9th": 0, "172": 0, "24th": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 15, 20, 23], "been": 0, "also": [0, 3, 7, 14, 15, 16, 20], "need": [0, 1, 3, 20], "run": [0, 1, 12, 16, 23], "task": [0, 23], "23rd": 0, "170": 0, "save": [0, 3, 21], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 12, 14, 20, 23], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 22], "member": [0, 3, 7, 15], "get_or_fetch_memb": [0, 3, 7, 18], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 21, 23], "11": 0, "162": 0, "being": [0, 7, 10, 18], "abl": 0, "button": [0, 15], "press": 0, "88": 0, "decor": [0, 8, 10, 12, 14, 16], "success": [0, 21], "duplic": [0, 12], "invoc": [0, 12], "5th": 0, "157": 0, "renam": 0, "project": [0, 1, 17], "publish": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 22], "option": [0, 8, 14, 16], "match": [0, 3, 14], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 21], "rediscach": 0, "v1": [0, 3, 20, 21], "rc2": 0, "107": 0, "declar": 0, "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 10, 14, 23], "108": 0, "101": 0, "clean": [0, 11], "string": [0, 6], "referenc": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 10, 14, 16, 17, 20, 21, 23], "On": 0, "view": [0, 15], "its": [0, 3, 12, 14], "104": 0, "deletemessagebutton": [0, 3, 7, 15], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 17], "103": 0, "attach": 0, "parent": [0, 15], "gener": [0, 3, 12, 23], "98": 0, "close": [0, 2, 3, 6, 23], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 10, 23], "91": 0, "miss": 0, "await": [0, 3, 12, 15, 16, 18, 20], "ping_servic": [0, 2, 3], "some": [0, 3, 20, 21], "case": [0, 3, 20], "pass": [0, 6, 14, 17, 18, 23], "self": [0, 3, 15], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 18], "96": 0, "connect": [0, 3, 4], "statsd_url": [0, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 17, 20], "older": 0, "doc": [0, 16], "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 10, 23], "out": [0, 1, 15], "75": 0, "invit": [0, 22], "longer": [0, 15], "safe": 0, "result": [0, 23], "captur": [0, 14, 22], "charact": [0, 3, 20], "up": [0, 1, 3, 20], "whitespac": [0, 22], "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3, 10, 20], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "number": [0, 3, 10, 20, 21], "so": [0, 1, 7], "should": [0, 1, 3, 6, 15, 20, 21], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 14, 18], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 14], "main": 0, "don": [0, 10, 23], "t": [0, 10, 11, 13, 14, 16, 23], "modul": [0, 3, 7, 14, 23], "start": [0, 3, 23], "_": 0, "66": 0, "each": [0, 3, 20], "own": [0, 14], "avoid": [0, 3, 20], "singl": [0, 3, 20], "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 16, 23], "manipul": [0, 14], "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 3, 14, 20], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 17], "basic": [0, 15], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 10, 12, 15, 16, 20, 23], "instanc": [0, 3, 6, 8, 9, 10, 17, 23], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 21], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "event": [0, 3, 4, 16, 23], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3, 16, 20], "made": [0, 19], "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 21], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 12, 15, 16, 17, 20, 21, 23], "abstract": 0, "lot": 0, "share": [0, 14], "between": [0, 1, 14], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 17], "import": 0, "can": [0, 1, 3, 10, 15, 16, 17, 20, 23], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "api": [0, 6, 18], "wrapper": [0, 6, 12, 14, 23], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "cach": [0, 3, 7, 9, 18], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 3, 7, 15, 17, 20], "intersphinx": 0, "12": 0, "block": [0, 3, 12, 20, 22], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "To": [1, 3, 17], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 14], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 14, 15, 16], "below": [1, 16], "more": [1, 3, 14, 16, 20], "both": [1, 21], "what": 1, "go": [1, 3, 16, 20], "them": [1, 3, 14, 23], "you": [1, 9, 22], "ll": [1, 23], "write": 1, "might": [1, 10], "mean": 1, "modifi": [1, 18], "ones": 1, "etc": [1, 10], "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 23], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 20, 21, 23], "vari": 1, "re": [1, 3, 13, 19, 23], "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 3, 10, 15, 20, 21, 23], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 14, 19], "free": 1, "howev": 1, "like": [1, 14], "m": 1, "docker": 1, "compos": 1, "d": [1, 14], "configur": [1, 3, 20, 21], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 3, 4, 20], "invok": [1, 10, 12, 15], "mention": [1, 3], "A": [1, 3, 6, 7, 8, 9, 10, 12, 14, 15, 17, 20, 21, 23], "comma": 1, "seper": 1, "id": [1, 3, 7, 9, 10, 15, 16, 20, 23], "anyth": [1, 21], "reinstal": 1, "applic": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8, 16], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "emptypaginatorembederror": [2, 3, 7, 20], "add_lin": [2, 3, 7, 20], "paginationemoji": [2, 3, 7, 20], "model_computed_field": [2, 3, 7, 20, 21], "model_config": [2, 3, 7, 20, 21], "model_field": [2, 3, 7, 20, 21], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": [2, 3, 20], "inform": [2, 16, 17], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12, 14, 16, 17], "http_session": [3, 21], "redis_sess": 3, "kwarg": [3, 6, 12, 14, 15, 17, 23], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "implement": [3, 4, 8, 15, 17], "initialis": [3, 8], "int": [3, 4, 8, 9, 10, 14, 15, 20, 21, 23], "clientsess": [3, 6, 21], "redissess": 3, "str": [3, 4, 6, 7, 10, 11, 14, 15, 16, 17, 20, 21, 23], "server": [3, 22], "If": [3, 6, 10, 12, 14, 15, 16, 19, 20, 23], "oper": [3, 16, 20, 23], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 15, 23], "instead": [3, 12, 23], "connector": 3, "resolv": [3, 14], "sync_app_command": 3, "true": [3, 6, 10, 12, 16, 17, 19, 20, 21, 23], "all_extens": 3, "bool": [3, 6, 9, 10, 12, 15, 16, 19, 20, 23], "intern": [3, 7, 16], "becom": [3, 16], "appear": 3, "still": [3, 20], "empti": [3, 20], "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 14, 19], "relev": 3, "name": [3, 7, 14, 16, 17, 20, 21, 23], "alia": [3, 7, 12], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 14], "second": [3, 10, 12, 15, 20, 23], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 10, 12, 14, 16, 17, 20, 21, 23], "rais": [3, 6, 9, 10, 11, 12, 13, 14, 16, 18, 20, 21, 23], "suffix": [3, 20], "max_siz": [3, 8, 20, 21], "4000": [3, 20], "scale_to_s": [3, 20], "max_lin": [3, 20], "linesep": [3, 20], "n": [3, 20], "aid": [3, 20], "pagination_emoji": [3, 20], "insert": [3, 20], "everi": [3, 20], "e": [3, 20], "g": [3, 20], "three": [3, 20], "backtick": [3, 20], "append": [3, 20], "end": [3, 20], "maximum": [3, 8, 20, 21], "amount": [3, 20], "codepoint": [3, 20], "line": [3, 20], "scale": [3, 20], "overrid": [3, 20], "insid": [3, 20], "It": [3, 7, 16, 20], "order": [3, 8, 14, 16, 20, 23], "per": [3, 10, 20], "fals": [3, 10, 12, 16, 20, 21], "current": [3, 16, 20, 23], "exce": [3, 8, 20], "overflow": [3, 20], "word": [3, 20], "exceed": [3, 20], "excess": [3, 20], "place": [3, 20], "next": [3, 20], "unti": [3, 20], "remain": [3, 20], "boundari": [3, 20], "truncat": [3, 20], "continu": [3, 20], "onto": [3, 20], "In": [3, 20], "alreadi": [3, 20, 23], "would": [3, 20], "caus": [3, 7, 20], "done": [3, 15, 20, 23], "best": [3, 20], "effort": [3, 20], "while": [3, 12, 16, 20], "keep": [3, 20, 23], "total": [3, 20], "length": [3, 12, 20], "reason": [3, 20], "size": [3, 8, 20, 21], "indic": [3, 18, 20], "classmethod": [3, 20], "ctx": [3, 10, 11, 15, 20], "500": [3, 20], "restrict_to_us": [3, 20], "300": [3, 20], "footer_text": [3, 20], "exception_on_empty_emb": [3, 20], "repli": [3, 11, 12, 13, 20], "switch": [3, 20], "finish": [3, 16, 20], "appli": [3, 7, 8, 10, 12, 16, 20, 21], "These": [3, 20], "five": [3, 20], "minut": [3, 20], "limit": [3, 20], "author": [3, 10, 19, 20], "ani": [3, 6, 10, 14, 16, 20, 22, 23], "moder": [3, 15, 19, 20], "context": [3, 10, 11, 16, 20], "hold": [3, 16, 20], "serv": [3, 20], "whom": [3, 20], "restrict": [3, 20], "anymor": [3, 20], "footer": [3, 20], "sequenc": [3, 7, 14, 15, 20], "exampl": [3, 20], "set_author": [3, 20], "icon_url": [3, 20], "icon": [3, 20], "data": [3, 20, 21], "basemodel": [3, 20, 21], "classvar": [3, 20, 21], "dict": [3, 6, 14, 20, 21], "computedfieldinfo": [3, 20, 21], "dictionari": [3, 20, 21], "comput": [3, 20, 21], "field": [3, 20, 21], "correspond": [3, 20, 21], "object": [3, 6, 7, 8, 9, 12, 16, 18, 20, 21, 23], "configdict": [3, 20, 21], "model": [3, 20, 21], "conform": [3, 20, 21], "pydant": [3, 20, 21], "config": [3, 20, 21], "fieldinfo": [3, 20, 21], "annot": [3, 14, 20, 21], "trashcan": [3, 20], "637136429717389331": [3, 20], "first": [3, 20], "last": [3, 10, 15, 20], "left": [3, 20], "metadata": [3, 20, 21], "about": [3, 12, 20, 21], "defin": [3, 20, 21], "map": [3, 14, 16, 20, 21], "replac": [3, 10, 14, 20, 21], "__fields__": [3, 20, 21], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "contextcheckfailur": [3, 7, 10], "inwhitelistcheckfailur": [3, 7, 10], "cooldown_with_role_bypass": [3, 7, 10], "has_any_role_check": [3, 7, 10], "has_no_roles_check": [3, 7, 10], "in_whitelist_check": [3, 7, 10], "clean_text_or_repli": [3, 7, 11], "cooldown": [3, 7, 10], "commandoncooldown": [3, 7, 12], "p": [3, 7, 12], "r": [3, 7, 12], "block_duplicate_invoc": [3, 7, 12], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 13], "globalnameconflicterror": [3, 7, 14], "command_wrap": [3, 7, 14], "get_arg_valu": [3, 7, 14], "get_arg_value_wrapp": [3, 7, 14], "get_bound_arg": [3, 7, 14], "update_wrapper_glob": [3, 7, 14], "lockedresourceerror": [3, 7, 16], "sharedev": [3, 7, 16], "lock_arg": [3, 7, 16], "customlogg": [3, 7, 17], "get_logg": [3, 7, 17], "max_paste_s": [3, 7, 21], "pasterespons": [3, 7, 21], "pastetoolongerror": [3, 7, 21], "pasteunsupportedlexererror": [3, 7, 21], "pasteuploaderror": [3, 7, 21], "formatted_code_regex": [3, 7, 22], "raw_code_regex": [3, 7, 22], "create_task": [3, 7, 23], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 21], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 23], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 23], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "django": 6, "initi": [6, 23], "authent": 6, "keyword": [6, 7, 14, 17], "argument": [6, 7, 8, 11, 12, 14, 16, 17, 18], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "ok": 6, "clientrespons": 6, "json": 6, "extra": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 14, 21], "represent": 6, "group": [7, 22], "root_alias": 7, "two": 7, "act": 7, "top": 7, "rather": 7, "than": [7, 21], "attribut": [7, 14], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 12], "callback": [7, 10, 15], "interaction_check": [7, 15], "on_timeout": [7, 15], "__enter__": [7, 16], "__exit__": [7, 16], "__contains__": [7, 23], "cancel": [7, 23], "cancel_al": [7, 23], "schedule_at": [7, 23], "schedule_lat": [7, 23], "relat": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 18, 23], "kei": 8, "fifo": 8, "offset": 8, "arg_offset": 8, "posit": [8, 14, 16], "callabl": [8, 10, 12, 14, 16, 18], "wrap": [8, 14, 23], "target": 8, "item": 8, "channel_id": 9, "fetch": [9, 18], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 10, 21], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": [9, 10], "textchannel": 9, "redirect_channel": 10, "checkfailur": 10, "in_whitelist": 10, "rate": 10, "bypass_rol": 10, "bypass": 10, "note": 10, "before_invok": 10, "introduc": 10, "problem": [10, 17], "futur": [10, 23], "trigger": 10, "float": [10, 12, 15, 23], "durat": 10, "long": [10, 21, 23], "buckettyp": 10, "iter": [10, 12], "describ": 10, "behavior": 10, "typeerror": [10, 14], "verifi": 10, "alwai": 10, "dm": 10, "sinc": 10, "where": 10, "union": 10, "collect": 10, "least": 10, "otherwis": [10, 16, 23], "doesn": [10, 23], "redirect": 10, "fail_sil": 10, "issu": 10, "whitelist": 10, "silent": 10, "badargu": 11, "wasn": 11, "els": 11, "commanderror": 12, "typevar": [12, 14, 23], "valu": [12, 14, 16, 17], "signatur": 12, "cooldown_dur": 12, "send_notic": 12, "args_preprocessor": 12, "prevent": [12, 16, 23], "same": [12, 23], "notifi": 12, "paramspec": [12, 14], "raw": [12, 22], "isn": [13, 14], "conflict": 14, "global": 14, "assign": 14, "__module__": 14, "__name__": 14, "__qualname__": 14, "__doc__": 14, "__annotations__": 14, "__dict__": 14, "ignored_conflict_nam": 14, "frozenset": 14, "look": [14, 23], "forwardref": 14, "evalu": 14, "detail": 14, "_p": 14, "_r": 14, "found": [14, 18, 23], "behav": 14, "functool": 14, "name_or_po": [14, 16], "ordereddict": [14, 16], "doe": 14, "decorator_func": 14, "func": [14, 16], "accept": [14, 15], "bind": 14, "tupl": [14, 23], "For": 14, "__global__": 14, "state": 14, "won": 14, "reflect": 14, "typehint": 14, "style": 15, "secondari": 15, "click": 15, "itself": 15, "carri": 15, "buttonstyl": 15, "origin": 15, "180": 15, "who": 15, "ui": 15, "input": 15, "similar": [15, 22], "occur": 15, "listen": 15, "access": 15, "resource_typ": 16, "resource_id": 16, "runtimeerror": 16, "resourc": 16, "hashabl": [16, 23], "manag": 16, "expos": 16, "through": 16, "coro": [16, 18, 23], "execut": [16, 23], "underli": 16, "holder": 16, "increment": 16, "count": 16, "activ": 16, "_exc_typ": 16, "_exc_val": 16, "_exc_tb": 16, "decrement": 16, "reach": 16, "exit": 16, "raise_error": 16, "turn": 16, "mutual": 16, "exclus": 16, "identifi": [16, 23], "collis": 16, "among": 16, "perform": 16, "acquir": 16, "msg": 17, "sever": 17, "exc_info": 17, "houston": 17, "we": [17, 18], "interest": 17, "mypi": 17, "recognis": 17, "formatt": 17, "interactin": 18, "member_id": 18, "failur": 18, "could": 18, "sole": 18, "expect": 18, "add_rol": 18, "remove_rol": 18, "purpos": 18, "intend": 18, "message_id": 19, "allowed_emoji": 19, "allow_mod": 19, "even": 19, "524288": 21, "byte": 21, "format": [21, 22], "link": 21, "too": 21, "larg": 21, "unsupport": 21, "encount": 21, "paste_url": 21, "max": 21, "larger": 21, "reject": 21, "max_length": 21, "greater": 21, "regular": 22, "express": 22, "pattern": 22, "pleas": 22, "sanitis": 22, "output": 22, "someth": 22, "urllib": 22, "pars": 22, "quot": 22, "track": 23, "distinguish": 23, "suggest": 23, "immedi": 23, "uniqu": 23, "prematur": 23, "task_id": 23, "unschedul": 23, "known": 23, "unawait": 23, "elsewher": 23, "timezon": 23, "awar": 23, "calcul": 23, "subtract": 23, "na\u00efv": 23, "utc": 23, "datetim": 23, "delai": 23, "suppressed_except": 23, "event_loop": 23, "task_return": 23}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "EmptyPaginatorEmbedError"], [3, 1, 1, "", "LinePaginator"], [3, 1, 1, "", "PaginationEmojis"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.LinePaginator": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_line"], [3, 2, 1, "", "paginate"]], "pydis_core.PaginationEmojis": [[3, 4, 1, "", "model_computed_fields"], [3, 4, 1, "", "model_config"], [3, 4, 1, "", "model_fields"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 5, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "checks"], [11, 0, 0, "-", "commands"], [12, 0, 0, "-", "cooldown"], [13, 0, 0, "-", "error_handling"], [14, 0, 0, "-", "function"], [15, 0, 0, "-", "interactions"], [16, 0, 0, "-", "lock"], [17, 0, 0, "-", "logging"], [18, 0, 0, "-", "members"], [19, 0, 0, "-", "messages"], [20, 0, 0, "-", "pagination"], [21, 0, 0, "-", "paste_service"], [22, 0, 0, "-", "regex"], [23, 0, 0, "-", "scheduling"], [7, 5, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 5, 1, "", "get_or_fetch_channel"], [9, 5, 1, "", "is_in_category"]], "pydis_core.utils.checks": [[10, 3, 1, "", "ContextCheckFailure"], [10, 3, 1, "", "InWhitelistCheckFailure"], [10, 5, 1, "", "cooldown_with_role_bypass"], [10, 5, 1, "", "has_any_role_check"], [10, 5, 1, "", "has_no_roles_check"], [10, 5, 1, "", "in_whitelist_check"]], "pydis_core.utils.checks.ContextCheckFailure": [[10, 2, 1, "", "__init__"]], "pydis_core.utils.commands": [[11, 5, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[12, 3, 1, "", "CommandOnCooldown"], [12, 6, 1, "", "P"], [12, 1, 1, "", "R"], [12, 5, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[12, 2, 1, "", "__init__"], [12, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[13, 5, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[14, 3, 1, "", "GlobalNameConflictError"], [14, 5, 1, "", "command_wraps"], [14, 5, 1, "", "get_arg_value"], [14, 5, 1, "", "get_arg_value_wrapper"], [14, 5, 1, "", "get_bound_args"], [14, 5, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[15, 1, 1, "", "DeleteMessageButton"], [15, 1, 1, "", "ViewWithUserAndRoleCheck"], [15, 5, 1, "", "user_has_access"]], "pydis_core.utils.interactions.DeleteMessageButton": [[15, 2, 1, "", "__init__"], [15, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[15, 2, 1, "", "__init__"], [15, 2, 1, "", "interaction_check"], [15, 2, 1, "", "on_timeout"], [15, 2, 1, "", "stop"]], "pydis_core.utils.lock": [[16, 3, 1, "", "LockedResourceError"], [16, 1, 1, "", "SharedEvent"], [16, 5, 1, "", "lock"], [16, 5, 1, "", "lock_arg"]], "pydis_core.utils.lock.LockedResourceError": [[16, 2, 1, "", "__init__"], [16, 4, 1, "", "id"], [16, 4, 1, "", "type"]], "pydis_core.utils.lock.SharedEvent": [[16, 2, 1, "", "__enter__"], [16, 2, 1, "", "__exit__"], [16, 2, 1, "", "__init__"], [16, 2, 1, "", "wait"]], "pydis_core.utils.logging": [[17, 1, 1, "", "CustomLogger"], [17, 5, 1, "", "get_logger"], [17, 6, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[17, 2, 1, "", "trace"]], "pydis_core.utils.members": [[18, 5, 1, "", "get_or_fetch_member"], [18, 5, 1, "", "handle_role_change"]], "pydis_core.utils.messages": [[19, 5, 1, "", "reaction_check"]], "pydis_core.utils.pagination.LinePaginator": [[20, 2, 1, "", "__init__"], [20, 2, 1, "", "add_line"], [20, 2, 1, "", "paginate"]], "pydis_core.utils.pagination.PaginationEmojis": [[20, 4, 1, "", "model_computed_fields"], [20, 4, 1, "", "model_config"], [20, 4, 1, "", "model_fields"]], "pydis_core.utils.paste_service": [[21, 6, 1, "", "MAX_PASTE_SIZE"], [21, 1, 1, "", "PasteFile"], [21, 1, 1, "", "PasteResponse"], [21, 3, 1, "", "PasteTooLongError"], [21, 3, 1, "", "PasteUnsupportedLexerError"], [21, 3, 1, "", "PasteUploadError"], [21, 5, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[21, 4, 1, "", "model_computed_fields"], [21, 4, 1, "", "model_config"], [21, 4, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[21, 4, 1, "", "model_computed_fields"], [21, 4, 1, "", "model_config"], [21, 4, 1, "", "model_fields"]], "pydis_core.utils.regex": [[22, 6, 1, "", "DISCORD_INVITE"], [22, 6, 1, "", "FORMATTED_CODE_REGEX"], [22, 6, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[23, 1, 1, "", "Scheduler"], [23, 5, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[23, 2, 1, "", "__contains__"], [23, 2, 1, "", "__init__"], [23, 2, 1, "", "cancel"], [23, 2, 1, "", "cancel_all"], [23, 2, 1, "", "schedule"], [23, 2, 1, "", "schedule_at"], [23, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:attribute", "5": "py:function", "6": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "check": 10, "command": 11, "cooldown": 12, "error_handl": 13, "function": 14, "interact": 15, "lock": 16, "log": 17, "member": 18, "messag": 19, "pagin": 20, "paste_servic": 21, "regex": 22, "schedul": 23}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"channel": [[9, "module-pydis_core.utils.channel"]], "commands": [[11, "module-pydis_core.utils.commands"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "checks": [[10, "module-pydis_core.utils.checks"]], "site_api": [[6, "module-pydis_core.site_api"]], "pagination": [[20, "module-pydis_core.utils.pagination"]], "regex": [[22, "module-pydis_core.utils.regex"]], "paste_service": [[21, "module-pydis_core.utils.paste_service"]], "scheduling": [[23, "module-pydis_core.utils.scheduling"]], "messages": [[19, "module-pydis_core.utils.messages"]], "members": [[18, "module-pydis_core.utils.members"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Exts": [[5, "module-pydis_core.exts"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "error_handling": [[13, "module-pydis_core.utils.error_handling"]], "interactions": [[15, "module-pydis_core.utils.interactions"]], "logging": [[17, "module-pydis_core.utils.logging"]], "function": [[14, "module-pydis_core.utils.function"]], "cooldown": [[12, "module-pydis_core.utils.cooldown"]], "lock": [[16, "module-pydis_core.utils.lock"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "emptypaginatorembederror": [[3, "pydis_core.EmptyPaginatorEmbedError"], [20, "pydis_core.utils.pagination.EmptyPaginatorEmbedError"]], "linepaginator (class in pydis_core)": [[3, "pydis_core.LinePaginator"]], "paginationemojis (class in pydis_core)": [[3, "pydis_core.PaginationEmojis"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (linepaginator method)": [[3, "pydis_core.LinePaginator.__init__"], [20, "pydis_core.utils.pagination.LinePaginator.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "add_line() (linepaginator method)": [[3, "pydis_core.LinePaginator.add_line"], [20, "pydis_core.utils.pagination.LinePaginator.add_line"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "model_computed_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_computed_fields"], [20, "pydis_core.utils.pagination.PaginationEmojis.model_computed_fields"]], "model_config (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_config"], [20, "pydis_core.utils.pagination.PaginationEmojis.model_config"]], "model_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_fields"], [20, "pydis_core.utils.pagination.PaginationEmojis.model_fields"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.checks"], [11, "module-pydis_core.utils.commands"], [12, "module-pydis_core.utils.cooldown"], [13, "module-pydis_core.utils.error_handling"], [14, "module-pydis_core.utils.function"], [15, "module-pydis_core.utils.interactions"], [16, "module-pydis_core.utils.lock"], [17, "module-pydis_core.utils.logging"], [18, "module-pydis_core.utils.members"], [19, "module-pydis_core.utils.messages"], [20, "module-pydis_core.utils.pagination"], [21, "module-pydis_core.utils.paste_service"], [22, "module-pydis_core.utils.regex"], [23, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "paginate() (linepaginator class method)": [[3, "pydis_core.LinePaginator.paginate"], [20, "pydis_core.utils.pagination.LinePaginator.paginate"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "contextcheckfailure": [[10, "pydis_core.utils.checks.ContextCheckFailure"]], "inwhitelistcheckfailure": [[10, "pydis_core.utils.checks.InWhitelistCheckFailure"]], "__init__() (contextcheckfailure method)": [[10, "pydis_core.utils.checks.ContextCheckFailure.__init__"]], "cooldown_with_role_bypass() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.cooldown_with_role_bypass"]], "has_any_role_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_any_role_check"]], "has_no_roles_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_no_roles_check"]], "in_whitelist_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.in_whitelist_check"]], "pydis_core.utils.checks": [[10, "module-pydis_core.utils.checks"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[11, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[11, "module-pydis_core.utils.commands"]], "commandoncooldown": [[12, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[12, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[13, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[13, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[14, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.command_wraps"]], "get_arg_value() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.get_arg_value"]], "get_arg_value_wrapper() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.get_arg_value_wrapper"]], "get_bound_args() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.get_bound_args"]], "pydis_core.utils.function": [[14, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[15, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[15, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[15, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[15, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "user_has_access() (in module pydis_core.utils.interactions)": [[15, "pydis_core.utils.interactions.user_has_access"]], "lockedresourceerror": [[16, "pydis_core.utils.lock.LockedResourceError"]], "sharedevent (class in pydis_core.utils.lock)": [[16, "pydis_core.utils.lock.SharedEvent"]], "__enter__() (sharedevent method)": [[16, "pydis_core.utils.lock.SharedEvent.__enter__"]], "__exit__() (sharedevent method)": [[16, "pydis_core.utils.lock.SharedEvent.__exit__"]], "__init__() (lockedresourceerror method)": [[16, "pydis_core.utils.lock.LockedResourceError.__init__"]], "__init__() (sharedevent method)": [[16, "pydis_core.utils.lock.SharedEvent.__init__"]], "id (lockedresourceerror attribute)": [[16, "pydis_core.utils.lock.LockedResourceError.id"]], "lock() (in module pydis_core.utils.lock)": [[16, "pydis_core.utils.lock.lock"]], "lock_arg() (in module pydis_core.utils.lock)": [[16, "pydis_core.utils.lock.lock_arg"]], "pydis_core.utils.lock": [[16, "module-pydis_core.utils.lock"]], "type (lockedresourceerror attribute)": [[16, "pydis_core.utils.lock.LockedResourceError.type"]], "wait() (sharedevent method)": [[16, "pydis_core.utils.lock.SharedEvent.wait"]], "customlogger (class in pydis_core.utils.logging)": [[17, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[17, "pydis_core.utils.logging.get_logger"]], "log_format (in module pydis_core.utils.logging)": [[17, "pydis_core.utils.logging.log_format"]], "pydis_core.utils.logging": [[17, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[17, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[18, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[18, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[18, "module-pydis_core.utils.members"]], "pydis_core.utils.messages": [[19, "module-pydis_core.utils.messages"]], "reaction_check() (in module pydis_core.utils.messages)": [[19, "pydis_core.utils.messages.reaction_check"]], "linepaginator (class in pydis_core.utils.pagination)": [[20, "pydis_core.utils.pagination.LinePaginator"]], "paginationemojis (class in pydis_core.utils.pagination)": [[20, "pydis_core.utils.pagination.PaginationEmojis"]], "pydis_core.utils.pagination": [[20, "module-pydis_core.utils.pagination"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[21, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[21, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[21, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[21, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[21, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[21, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[21, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[21, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[21, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[21, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[21, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[21, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[21, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[21, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[22, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[22, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[22, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[22, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[23, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[23, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[23, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v10.7.0/versions.html b/v10.7.0/versions.html
index 9c7a162a..854ad3d4 100644
--- a/v10.7.0/versions.html
+++ b/v10.7.0/versions.html
@@ -279,6 +279,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -482,6 +486,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v11.0.0/.buildinfo b/v11.0.0/.buildinfo
index f07f801b..1116c55d 100644
--- a/v11.0.0/.buildinfo
+++ b/v11.0.0/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 26e99edfae4ffd3aaeba5b43e867ec63
+config: 152e45b82465ffd0e0cadc2a0b205131
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v11.0.0/changelog.html b/v11.0.0/changelog.html
index 596eb8c1..970317fb 100644
--- a/v11.0.0/changelog.html
+++ b/v11.0.0/changelog.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../v9.0.0/changelog.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="changelog.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/development.html b/v11.0.0/development.html
index 60240270..39c1bb59 100644
--- a/v11.0.0/development.html
+++ b/v11.0.0/development.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../v9.0.0/development.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="development.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/genindex.html b/v11.0.0/genindex.html
index b57d0a95..01817df3 100644
--- a/v11.0.0/genindex.html
+++ b/v11.0.0/genindex.html
@@ -284,6 +284,10 @@
<a class="version_link reference internal" href="../v9.0.0/index.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="genindex.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/index.html b/v11.0.0/index.html
index 02c75854..95076a38 100644
--- a/v11.0.0/index.html
+++ b/v11.0.0/index.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../v9.0.0/index.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="index.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.async_stats.html b/v11.0.0/output/pydis_core.async_stats.html
index 9bf4e105..0b4ac57d 100644
--- a/v11.0.0/output/pydis_core.async_stats.html
+++ b/v11.0.0/output/pydis_core.async_stats.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.async_stats.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.exts.html b/v11.0.0/output/pydis_core.exts.html
index 9b1c1408..b0c9a88a 100644
--- a/v11.0.0/output/pydis_core.exts.html
+++ b/v11.0.0/output/pydis_core.exts.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.exts.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.html b/v11.0.0/output/pydis_core.html
index 1732b4a4..6ac3d8c6 100644
--- a/v11.0.0/output/pydis_core.html
+++ b/v11.0.0/output/pydis_core.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.site_api.html b/v11.0.0/output/pydis_core.site_api.html
index 86982548..1e918be1 100644
--- a/v11.0.0/output/pydis_core.site_api.html
+++ b/v11.0.0/output/pydis_core.site_api.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.site_api.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.caching.html b/v11.0.0/output/pydis_core.utils.caching.html
index e8a14f4d..570cea83 100644
--- a/v11.0.0/output/pydis_core.utils.caching.html
+++ b/v11.0.0/output/pydis_core.utils.caching.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.caching.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.channel.html b/v11.0.0/output/pydis_core.utils.channel.html
index 1765bc55..35d6c4c3 100644
--- a/v11.0.0/output/pydis_core.utils.channel.html
+++ b/v11.0.0/output/pydis_core.utils.channel.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.channel.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.checks.html b/v11.0.0/output/pydis_core.utils.checks.html
index fb9b338a..2068a3c9 100644
--- a/v11.0.0/output/pydis_core.utils.checks.html
+++ b/v11.0.0/output/pydis_core.utils.checks.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.checks.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.checks.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.commands.html b/v11.0.0/output/pydis_core.utils.commands.html
index 5e5a7428..3f60bfc6 100644
--- a/v11.0.0/output/pydis_core.utils.commands.html
+++ b/v11.0.0/output/pydis_core.utils.commands.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.commands.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.cooldown.html b/v11.0.0/output/pydis_core.utils.cooldown.html
index 0b6f6008..428c614f 100644
--- a/v11.0.0/output/pydis_core.utils.cooldown.html
+++ b/v11.0.0/output/pydis_core.utils.cooldown.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.cooldown.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.error_handling.commands.abc.html b/v11.0.0/output/pydis_core.utils.error_handling.commands.abc.html
index 6b1c4872..958b715f 100644
--- a/v11.0.0/output/pydis_core.utils.error_handling.commands.abc.html
+++ b/v11.0.0/output/pydis_core.utils.error_handling.commands.abc.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.commands.abc.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.error_handling.commands.abc.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.error_handling.commands.html b/v11.0.0/output/pydis_core.utils.error_handling.commands.html
index e05ee26f..d9f44c69 100644
--- a/v11.0.0/output/pydis_core.utils.error_handling.commands.html
+++ b/v11.0.0/output/pydis_core.utils.error_handling.commands.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.commands.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.error_handling.commands.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.error_handling.commands.manager.html b/v11.0.0/output/pydis_core.utils.error_handling.commands.manager.html
index 6bb9a016..0edc6b1f 100644
--- a/v11.0.0/output/pydis_core.utils.error_handling.commands.manager.html
+++ b/v11.0.0/output/pydis_core.utils.error_handling.commands.manager.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.commands.manager.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.error_handling.commands.manager.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.error_handling.html b/v11.0.0/output/pydis_core.utils.error_handling.html
index ecc09de3..7cdbb360 100644
--- a/v11.0.0/output/pydis_core.utils.error_handling.html
+++ b/v11.0.0/output/pydis_core.utils.error_handling.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.function.html b/v11.0.0/output/pydis_core.utils.function.html
index fd27bacf..231aaef2 100644
--- a/v11.0.0/output/pydis_core.utils.function.html
+++ b/v11.0.0/output/pydis_core.utils.function.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.function.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.html b/v11.0.0/output/pydis_core.utils.html
index c62b2c94..a0779b85 100644
--- a/v11.0.0/output/pydis_core.utils.html
+++ b/v11.0.0/output/pydis_core.utils.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.interactions.html b/v11.0.0/output/pydis_core.utils.interactions.html
index 1689abb1..dce0dfe4 100644
--- a/v11.0.0/output/pydis_core.utils.interactions.html
+++ b/v11.0.0/output/pydis_core.utils.interactions.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.interactions.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.lock.html b/v11.0.0/output/pydis_core.utils.lock.html
index 06168ea8..720d1b3a 100644
--- a/v11.0.0/output/pydis_core.utils.lock.html
+++ b/v11.0.0/output/pydis_core.utils.lock.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.lock.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.lock.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.logging.html b/v11.0.0/output/pydis_core.utils.logging.html
index b7574366..f777914a 100644
--- a/v11.0.0/output/pydis_core.utils.logging.html
+++ b/v11.0.0/output/pydis_core.utils.logging.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.logging.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.members.html b/v11.0.0/output/pydis_core.utils.members.html
index 1e468248..a8078500 100644
--- a/v11.0.0/output/pydis_core.utils.members.html
+++ b/v11.0.0/output/pydis_core.utils.members.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.members.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.messages.html b/v11.0.0/output/pydis_core.utils.messages.html
index 5868e377..5058e9c9 100644
--- a/v11.0.0/output/pydis_core.utils.messages.html
+++ b/v11.0.0/output/pydis_core.utils.messages.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.messages.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.messages.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.pagination.html b/v11.0.0/output/pydis_core.utils.pagination.html
index fcef2f36..b756bba0 100644
--- a/v11.0.0/output/pydis_core.utils.pagination.html
+++ b/v11.0.0/output/pydis_core.utils.pagination.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.pagination.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.pagination.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.paste_service.html b/v11.0.0/output/pydis_core.utils.paste_service.html
index 32f6b82c..3bb94d91 100644
--- a/v11.0.0/output/pydis_core.utils.paste_service.html
+++ b/v11.0.0/output/pydis_core.utils.paste_service.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.regex.html b/v11.0.0/output/pydis_core.utils.regex.html
index 13bd79fe..43e8cc92 100644
--- a/v11.0.0/output/pydis_core.utils.regex.html
+++ b/v11.0.0/output/pydis_core.utils.regex.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.regex.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/output/pydis_core.utils.scheduling.html b/v11.0.0/output/pydis_core.utils.scheduling.html
index 141f49a0..99507766 100644
--- a/v11.0.0/output/pydis_core.utils.scheduling.html
+++ b/v11.0.0/output/pydis_core.utils.scheduling.html
@@ -286,6 +286,10 @@
<a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.scheduling.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/py-modindex.html b/v11.0.0/py-modindex.html
index 0cfd691a..f29e517a 100644
--- a/v11.0.0/py-modindex.html
+++ b/v11.0.0/py-modindex.html
@@ -284,6 +284,10 @@
<a class="version_link reference internal" href="../v9.0.0/index.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="py-modindex.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/search.html b/v11.0.0/search.html
index ed829b36..b5f5b8b7 100644
--- a/v11.0.0/search.html
+++ b/v11.0.0/search.html
@@ -283,6 +283,10 @@
<a class="version_link reference internal" href="../v9.0.0/index.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="search.html">v11.0.0</a>
</li>
diff --git a/v11.0.0/searchindex.js b/v11.0.0/searchindex.js
index c010a998..b907ed6e 100644
--- a/v11.0.0/searchindex.js
+++ b/v11.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.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 &amp; 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, "0": [0, 8, 10, 18, 19, 20], "18th": 0, "march": 0, "2024": 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, "drop": 0, "support": [0, 4, 7, 26], "pydant": [0, 3, 23, 24], "1": [0, 20], "x": 0, "python": [0, 1, 3, 24, 26], "3": 0, "10": 0, "split": 0, "fakeredi": 0, "option": [0, 8, 17, 19], "depend": [0, 9], "from": [0, 1, 3, 4, 6, 7, 9, 17, 18, 21, 23, 24, 26], "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], "now": [0, 1, 26], "instal": [0, 1], "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, "12": 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], "command": [0, 1, 3, 7, 9, 10, 12, 13, 15, 16, 17, 19, 23], "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], "error": [0, 3, 6, 7, 13, 14, 15, 16, 21, 24], "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, "lupa": 0, "requir": [0, 1, 3, 23, 24, 26], "script": 0, "within": [0, 3], "As": 0, "7": 0, "30th": 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], "discord": [0, 1, 3, 5, 7, 9, 10, 11, 13, 14, 16, 17, 21, 23, 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, "bug": 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], "ext": [0, 2, 3, 7, 9, 10, 11, 23], "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], "handl": [0, 13, 14, 15, 16, 21, 26], "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], "befor": [0, 3, 10, 18, 19, 23, 26], "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], "20th": 0, "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], "restrict": [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, "origin": 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, "could": 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": {"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"]], "function": [[17, "module-pydis_core.utils.function"]], "cooldown": [[12, "module-pydis_core.utils.cooldown"]], "commands package": [[14, "module-pydis_core.utils.error_handling.commands"]], "Submodules": [[14, "submodules"], [7, "submodules"], [3, "submodules"]], "Utils": [[7, "module-pydis_core.utils"]], "commands": [[11, "module-pydis_core.utils.commands"]], "caching": [[8, "module-pydis_core.utils.caching"]], "checks": [[10, "module-pydis_core.utils.checks"]], "channel": [[9, "module-pydis_core.utils.channel"]], "site_api": [[6, "module-pydis_core.site_api"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Exts": [[5, "module-pydis_core.exts"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "interactions": [[18, "module-pydis_core.utils.interactions"]], "logging": [[20, "module-pydis_core.utils.logging"]], "members": [[21, "module-pydis_core.utils.members"]], "messages": [[22, "module-pydis_core.utils.messages"]], "lock": [[19, "module-pydis_core.utils.lock"]], "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"]]}, "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({"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 &amp; 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, "0": [0, 8, 10, 18, 19, 20], "18th": 0, "march": 0, "2024": 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, "drop": 0, "support": [0, 4, 7, 26], "pydant": [0, 3, 23, 24], "1": [0, 20], "x": 0, "python": [0, 1, 3, 24, 26], "3": 0, "10": 0, "split": 0, "fakeredi": 0, "option": [0, 8, 17, 19], "depend": [0, 9], "from": [0, 1, 3, 4, 6, 7, 9, 17, 18, 21, 23, 24, 26], "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], "now": [0, 1, 26], "instal": [0, 1], "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, "12": 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], "command": [0, 1, 3, 7, 9, 10, 12, 13, 15, 16, 17, 19, 23], "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], "error": [0, 3, 6, 7, 13, 14, 15, 16, 21, 24], "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, "lupa": 0, "requir": [0, 1, 3, 23, 24, 26], "script": 0, "within": [0, 3], "As": 0, "7": 0, "30th": 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], "discord": [0, 1, 3, 5, 7, 9, 10, 11, 13, 14, 16, 17, 21, 23, 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, "bug": 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], "ext": [0, 2, 3, 7, 9, 10, 11, 23], "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], "handl": [0, 13, 14, 15, 16, 21, 26], "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], "befor": [0, 3, 10, 18, 19, 23, 26], "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], "20th": 0, "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], "restrict": [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, "origin": 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, "could": 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"]], "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"]], "abc": [[15, "module-pydis_core.utils.error_handling.commands.abc"]], "function": [[17, "module-pydis_core.utils.function"]], "Utils": [[7, "module-pydis_core.utils"]], "channel": [[9, "module-pydis_core.utils.channel"]], "site_api": [[6, "module-pydis_core.site_api"]], "checks": [[10, "module-pydis_core.utils.checks"]], "commands": [[11, "module-pydis_core.utils.commands"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Exts": [[5, "module-pydis_core.exts"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Changelog": [[0, "changelog"]], "pagination": [[23, "module-pydis_core.utils.pagination"]], "members": [[21, "module-pydis_core.utils.members"]], "logging": [[20, "module-pydis_core.utils.logging"]], "lock": [[19, "module-pydis_core.utils.lock"]], "messages": [[22, "module-pydis_core.utils.messages"]], "interactions": [[18, "module-pydis_core.utils.interactions"]], "scheduling": [[26, "module-pydis_core.utils.scheduling"]], "paste_service": [[24, "module-pydis_core.utils.paste_service"]], "regex": [[25, "module-pydis_core.utils.regex"]]}, "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
diff --git a/v11.0.0/versions.html b/v11.0.0/versions.html
index 079ab449..08007814 100644
--- a/v11.0.0/versions.html
+++ b/v11.0.0/versions.html
@@ -285,6 +285,10 @@
<a class="version_link reference internal" href="../v9.0.0/index.html">v9.0.0</a>
</li>
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
<li class="toctree-l2 current-page">
<a class="version_link reference internal" href="versions.html">v11.0.0</a>
</li>
@@ -489,6 +493,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="versions.html">v11.0.0</a>
(current)
diff --git a/v11.0.1/.buildinfo b/v11.0.1/.buildinfo
new file mode 100644
index 00000000..bdfab578
--- /dev/null
+++ b/v11.0.1/.buildinfo
@@ -0,0 +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: 5ebe1d89d98c1758f62307e480908b7b
+tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v11.0.1/.nojekyll b/v11.0.1/.nojekyll
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/v11.0.1/.nojekyll
diff --git a/v11.0.1/_static/basic.css b/v11.0.1/_static/basic.css
new file mode 100644
index 00000000..30fee9d0
--- /dev/null
+++ b/v11.0.1/_static/basic.css
@@ -0,0 +1,925 @@
+/*
+ * basic.css
+ * ~~~~~~~~~
+ *
+ * Sphinx stylesheet -- basic theme.
+ *
+ * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+/* -- main layout ----------------------------------------------------------- */
+
+div.clearer {
+ clear: both;
+}
+
+div.section::after {
+ display: block;
+ content: '';
+ clear: left;
+}
+
+/* -- relbar ---------------------------------------------------------------- */
+
+div.related {
+ width: 100%;
+ font-size: 90%;
+}
+
+div.related h3 {
+ display: none;
+}
+
+div.related ul {
+ margin: 0;
+ padding: 0 0 0 10px;
+ list-style: none;
+}
+
+div.related li {
+ display: inline;
+}
+
+div.related li.right {
+ float: right;
+ margin-right: 5px;
+}
+
+/* -- sidebar --------------------------------------------------------------- */
+
+div.sphinxsidebarwrapper {
+ padding: 10px 5px 0 10px;
+}
+
+div.sphinxsidebar {
+ float: left;
+ width: 230px;
+ margin-left: -100%;
+ font-size: 90%;
+ word-wrap: break-word;
+ overflow-wrap : break-word;
+}
+
+div.sphinxsidebar ul {
+ list-style: none;
+}
+
+div.sphinxsidebar ul ul,
+div.sphinxsidebar ul.want-points {
+ margin-left: 20px;
+ list-style: square;
+}
+
+div.sphinxsidebar ul ul {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+div.sphinxsidebar form {
+ margin-top: 10px;
+}
+
+div.sphinxsidebar input {
+ border: 1px solid #98dbcc;
+ font-family: sans-serif;
+ font-size: 1em;
+}
+
+div.sphinxsidebar #searchbox form.search {
+ overflow: hidden;
+}
+
+div.sphinxsidebar #searchbox input[type="text"] {
+ float: left;
+ width: 80%;
+ padding: 0.25em;
+ box-sizing: border-box;
+}
+
+div.sphinxsidebar #searchbox input[type="submit"] {
+ float: left;
+ width: 20%;
+ border-left: none;
+ padding: 0.25em;
+ box-sizing: border-box;
+}
+
+
+img {
+ border: 0;
+ max-width: 100%;
+}
+
+/* -- search page ----------------------------------------------------------- */
+
+ul.search {
+ margin: 10px 0 0 20px;
+ padding: 0;
+}
+
+ul.search li {
+ padding: 5px 0 5px 20px;
+ background-image: url(file.png);
+ background-repeat: no-repeat;
+ background-position: 0 7px;
+}
+
+ul.search li a {
+ font-weight: bold;
+}
+
+ul.search li p.context {
+ color: #888;
+ margin: 2px 0 0 30px;
+ text-align: left;
+}
+
+ul.keywordmatches li.goodmatch a {
+ font-weight: bold;
+}
+
+/* -- index page ------------------------------------------------------------ */
+
+table.contentstable {
+ width: 90%;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+table.contentstable p.biglink {
+ line-height: 150%;
+}
+
+a.biglink {
+ font-size: 1.3em;
+}
+
+span.linkdescr {
+ font-style: italic;
+ padding-top: 5px;
+ font-size: 90%;
+}
+
+/* -- general index --------------------------------------------------------- */
+
+table.indextable {
+ width: 100%;
+}
+
+table.indextable td {
+ text-align: left;
+ vertical-align: top;
+}
+
+table.indextable ul {
+ margin-top: 0;
+ margin-bottom: 0;
+ list-style-type: none;
+}
+
+table.indextable > tbody > tr > td > ul {
+ padding-left: 0em;
+}
+
+table.indextable tr.pcap {
+ height: 10px;
+}
+
+table.indextable tr.cap {
+ margin-top: 10px;
+ background-color: #f2f2f2;
+}
+
+img.toggler {
+ margin-right: 3px;
+ margin-top: 3px;
+ cursor: pointer;
+}
+
+div.modindex-jumpbox {
+ border-top: 1px solid #ddd;
+ border-bottom: 1px solid #ddd;
+ margin: 1em 0 1em 0;
+ padding: 0.4em;
+}
+
+div.genindex-jumpbox {
+ border-top: 1px solid #ddd;
+ border-bottom: 1px solid #ddd;
+ margin: 1em 0 1em 0;
+ padding: 0.4em;
+}
+
+/* -- domain module index --------------------------------------------------- */
+
+table.modindextable td {
+ padding: 2px;
+ border-collapse: collapse;
+}
+
+/* -- general body styles --------------------------------------------------- */
+
+div.body {
+ min-width: 360px;
+ max-width: 800px;
+}
+
+div.body p, div.body dd, div.body li, div.body blockquote {
+ -moz-hyphens: auto;
+ -ms-hyphens: auto;
+ -webkit-hyphens: auto;
+ hyphens: auto;
+}
+
+a.headerlink {
+ visibility: hidden;
+}
+
+a:visited {
+ color: #551A8B;
+}
+
+h1:hover > a.headerlink,
+h2:hover > a.headerlink,
+h3:hover > a.headerlink,
+h4:hover > a.headerlink,
+h5:hover > a.headerlink,
+h6:hover > a.headerlink,
+dt:hover > a.headerlink,
+caption:hover > a.headerlink,
+p.caption:hover > a.headerlink,
+div.code-block-caption:hover > a.headerlink {
+ visibility: visible;
+}
+
+div.body p.caption {
+ text-align: inherit;
+}
+
+div.body td {
+ text-align: left;
+}
+
+.first {
+ margin-top: 0 !important;
+}
+
+p.rubric {
+ margin-top: 30px;
+ font-weight: bold;
+}
+
+img.align-left, figure.align-left, .figure.align-left, object.align-left {
+ clear: left;
+ float: left;
+ margin-right: 1em;
+}
+
+img.align-right, figure.align-right, .figure.align-right, object.align-right {
+ clear: right;
+ float: right;
+ margin-left: 1em;
+}
+
+img.align-center, figure.align-center, .figure.align-center, object.align-center {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+img.align-default, figure.align-default, .figure.align-default {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.align-left {
+ text-align: left;
+}
+
+.align-center {
+ text-align: center;
+}
+
+.align-default {
+ text-align: center;
+}
+
+.align-right {
+ text-align: right;
+}
+
+/* -- sidebars -------------------------------------------------------------- */
+
+div.sidebar,
+aside.sidebar {
+ margin: 0 0 0.5em 1em;
+ border: 1px solid #ddb;
+ padding: 7px;
+ background-color: #ffe;
+ width: 40%;
+ float: right;
+ clear: right;
+ overflow-x: auto;
+}
+
+p.sidebar-title {
+ font-weight: bold;
+}
+
+nav.contents,
+aside.topic,
+div.admonition, div.topic, blockquote {
+ clear: left;
+}
+
+/* -- topics ---------------------------------------------------------------- */
+
+nav.contents,
+aside.topic,
+div.topic {
+ border: 1px solid #ccc;
+ padding: 7px;
+ margin: 10px 0 10px 0;
+}
+
+p.topic-title {
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 10px;
+}
+
+/* -- admonitions ----------------------------------------------------------- */
+
+div.admonition {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ padding: 7px;
+}
+
+div.admonition dt {
+ font-weight: bold;
+}
+
+p.admonition-title {
+ margin: 0px 10px 5px 0px;
+ font-weight: bold;
+}
+
+div.body p.centered {
+ text-align: center;
+ margin-top: 25px;
+}
+
+/* -- content of sidebars/topics/admonitions -------------------------------- */
+
+div.sidebar > :last-child,
+aside.sidebar > :last-child,
+nav.contents > :last-child,
+aside.topic > :last-child,
+div.topic > :last-child,
+div.admonition > :last-child {
+ margin-bottom: 0;
+}
+
+div.sidebar::after,
+aside.sidebar::after,
+nav.contents::after,
+aside.topic::after,
+div.topic::after,
+div.admonition::after,
+blockquote::after {
+ display: block;
+ content: '';
+ clear: both;
+}
+
+/* -- tables ---------------------------------------------------------------- */
+
+table.docutils {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ border: 0;
+ border-collapse: collapse;
+}
+
+table.align-center {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+table.align-default {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+table caption span.caption-number {
+ font-style: italic;
+}
+
+table caption span.caption-text {
+}
+
+table.docutils td, table.docutils th {
+ padding: 1px 8px 1px 5px;
+ border-top: 0;
+ border-left: 0;
+ border-right: 0;
+ border-bottom: 1px solid #aaa;
+}
+
+th {
+ text-align: left;
+ padding-right: 5px;
+}
+
+table.citation {
+ border-left: solid 1px gray;
+ margin-left: 1px;
+}
+
+table.citation td {
+ border-bottom: none;
+}
+
+th > :first-child,
+td > :first-child {
+ margin-top: 0px;
+}
+
+th > :last-child,
+td > :last-child {
+ margin-bottom: 0px;
+}
+
+/* -- figures --------------------------------------------------------------- */
+
+div.figure, figure {
+ margin: 0.5em;
+ padding: 0.5em;
+}
+
+div.figure p.caption, figcaption {
+ padding: 0.3em;
+}
+
+div.figure p.caption span.caption-number,
+figcaption span.caption-number {
+ font-style: italic;
+}
+
+div.figure p.caption span.caption-text,
+figcaption span.caption-text {
+}
+
+/* -- field list styles ----------------------------------------------------- */
+
+table.field-list td, table.field-list th {
+ border: 0 !important;
+}
+
+.field-list ul {
+ margin: 0;
+ padding-left: 1em;
+}
+
+.field-list p {
+ margin: 0;
+}
+
+.field-name {
+ -moz-hyphens: manual;
+ -ms-hyphens: manual;
+ -webkit-hyphens: manual;
+ hyphens: manual;
+}
+
+/* -- hlist styles ---------------------------------------------------------- */
+
+table.hlist {
+ margin: 1em 0;
+}
+
+table.hlist td {
+ vertical-align: top;
+}
+
+/* -- object description styles --------------------------------------------- */
+
+.sig {
+ font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
+}
+
+.sig-name, code.descname {
+ background-color: transparent;
+ font-weight: bold;
+}
+
+.sig-name {
+ font-size: 1.1em;
+}
+
+code.descname {
+ font-size: 1.2em;
+}
+
+.sig-prename, code.descclassname {
+ background-color: transparent;
+}
+
+.optional {
+ font-size: 1.3em;
+}
+
+.sig-paren {
+ font-size: larger;
+}
+
+.sig-param.n {
+ font-style: italic;
+}
+
+/* C++ specific styling */
+
+.sig-inline.c-texpr,
+.sig-inline.cpp-texpr {
+ font-family: unset;
+}
+
+.sig.c .k, .sig.c .kt,
+.sig.cpp .k, .sig.cpp .kt {
+ color: #0033B3;
+}
+
+.sig.c .m,
+.sig.cpp .m {
+ color: #1750EB;
+}
+
+.sig.c .s, .sig.c .sc,
+.sig.cpp .s, .sig.cpp .sc {
+ color: #067D17;
+}
+
+
+/* -- other body styles ----------------------------------------------------- */
+
+ol.arabic {
+ list-style: decimal;
+}
+
+ol.loweralpha {
+ list-style: lower-alpha;
+}
+
+ol.upperalpha {
+ list-style: upper-alpha;
+}
+
+ol.lowerroman {
+ list-style: lower-roman;
+}
+
+ol.upperroman {
+ list-style: upper-roman;
+}
+
+:not(li) > ol > li:first-child > :first-child,
+:not(li) > ul > li:first-child > :first-child {
+ margin-top: 0px;
+}
+
+:not(li) > ol > li:last-child > :last-child,
+:not(li) > ul > li:last-child > :last-child {
+ margin-bottom: 0px;
+}
+
+ol.simple ol p,
+ol.simple ul p,
+ul.simple ol p,
+ul.simple ul p {
+ margin-top: 0;
+}
+
+ol.simple > li:not(:first-child) > p,
+ul.simple > li:not(:first-child) > p {
+ margin-top: 0;
+}
+
+ol.simple p,
+ul.simple p {
+ margin-bottom: 0;
+}
+
+aside.footnote > span,
+div.citation > span {
+ float: left;
+}
+aside.footnote > span:last-of-type,
+div.citation > span:last-of-type {
+ padding-right: 0.5em;
+}
+aside.footnote > p {
+ margin-left: 2em;
+}
+div.citation > p {
+ margin-left: 4em;
+}
+aside.footnote > p:last-of-type,
+div.citation > p:last-of-type {
+ margin-bottom: 0em;
+}
+aside.footnote > p:last-of-type:after,
+div.citation > p:last-of-type:after {
+ content: "";
+ clear: both;
+}
+
+dl.field-list {
+ display: grid;
+ grid-template-columns: fit-content(30%) auto;
+}
+
+dl.field-list > dt {
+ font-weight: bold;
+ word-break: break-word;
+ padding-left: 0.5em;
+ padding-right: 5px;
+}
+
+dl.field-list > dd {
+ padding-left: 0.5em;
+ margin-top: 0em;
+ margin-left: 0em;
+ margin-bottom: 0em;
+}
+
+dl {
+ margin-bottom: 15px;
+}
+
+dd > :first-child {
+ margin-top: 0px;
+}
+
+dd ul, dd table {
+ margin-bottom: 10px;
+}
+
+dd {
+ margin-top: 3px;
+ margin-bottom: 10px;
+ margin-left: 30px;
+}
+
+.sig dd {
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+
+.sig dl {
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+
+dl > dd:last-child,
+dl > dd:last-child > :last-child {
+ margin-bottom: 0;
+}
+
+dt:target, span.highlighted {
+ background-color: #fbe54e;
+}
+
+rect.highlighted {
+ fill: #fbe54e;
+}
+
+dl.glossary dt {
+ font-weight: bold;
+ font-size: 1.1em;
+}
+
+.versionmodified {
+ font-style: italic;
+}
+
+.system-message {
+ background-color: #fda;
+ padding: 5px;
+ border: 3px solid red;
+}
+
+.footnote:target {
+ background-color: #ffa;
+}
+
+.line-block {
+ display: block;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+.line-block .line-block {
+ margin-top: 0;
+ margin-bottom: 0;
+ margin-left: 1.5em;
+}
+
+.guilabel, .menuselection {
+ font-family: sans-serif;
+}
+
+.accelerator {
+ text-decoration: underline;
+}
+
+.classifier {
+ font-style: oblique;
+}
+
+.classifier:before {
+ font-style: normal;
+ margin: 0 0.5em;
+ content: ":";
+ display: inline-block;
+}
+
+abbr, acronym {
+ border-bottom: dotted 1px;
+ cursor: help;
+}
+
+.translated {
+ background-color: rgba(207, 255, 207, 0.2)
+}
+
+.untranslated {
+ background-color: rgba(255, 207, 207, 0.2)
+}
+
+/* -- code displays --------------------------------------------------------- */
+
+pre {
+ overflow: auto;
+ overflow-y: hidden; /* fixes display issues on Chrome browsers */
+}
+
+pre, div[class*="highlight-"] {
+ clear: both;
+}
+
+span.pre {
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ -webkit-hyphens: none;
+ hyphens: none;
+ white-space: nowrap;
+}
+
+div[class*="highlight-"] {
+ margin: 1em 0;
+}
+
+td.linenos pre {
+ border: 0;
+ background-color: transparent;
+ color: #aaa;
+}
+
+table.highlighttable {
+ display: block;
+}
+
+table.highlighttable tbody {
+ display: block;
+}
+
+table.highlighttable tr {
+ display: flex;
+}
+
+table.highlighttable td {
+ margin: 0;
+ padding: 0;
+}
+
+table.highlighttable td.linenos {
+ padding-right: 0.5em;
+}
+
+table.highlighttable td.code {
+ flex: 1;
+ overflow: hidden;
+}
+
+.highlight .hll {
+ display: block;
+}
+
+div.highlight pre,
+table.highlighttable pre {
+ margin: 0;
+}
+
+div.code-block-caption + div {
+ margin-top: 0;
+}
+
+div.code-block-caption {
+ margin-top: 1em;
+ padding: 2px 5px;
+ font-size: small;
+}
+
+div.code-block-caption code {
+ background-color: transparent;
+}
+
+table.highlighttable td.linenos,
+span.linenos,
+div.highlight span.gp { /* gp: Generic.Prompt */
+ user-select: none;
+ -webkit-user-select: text; /* Safari fallback only */
+ -webkit-user-select: none; /* Chrome/Safari */
+ -moz-user-select: none; /* Firefox */
+ -ms-user-select: none; /* IE10+ */
+}
+
+div.code-block-caption span.caption-number {
+ padding: 0.1em 0.3em;
+ font-style: italic;
+}
+
+div.code-block-caption span.caption-text {
+}
+
+div.literal-block-wrapper {
+ margin: 1em 0;
+}
+
+code.xref, a code {
+ background-color: transparent;
+ font-weight: bold;
+}
+
+h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
+ background-color: transparent;
+}
+
+.viewcode-link {
+ float: right;
+}
+
+.viewcode-back {
+ float: right;
+ font-family: sans-serif;
+}
+
+div.viewcode-block:target {
+ margin: -1px -10px;
+ padding: 0 10px;
+}
+
+/* -- math display ---------------------------------------------------------- */
+
+img.math {
+ vertical-align: middle;
+}
+
+div.body div.math p {
+ text-align: center;
+}
+
+span.eqno {
+ float: right;
+}
+
+span.eqno a.headerlink {
+ position: absolute;
+ z-index: 1;
+}
+
+div.math:hover a.headerlink {
+ visibility: visible;
+}
+
+/* -- printout stylesheet --------------------------------------------------- */
+
+@media print {
+ div.document,
+ div.documentwrapper,
+ div.bodywrapper {
+ margin: 0 !important;
+ width: 100%;
+ }
+
+ div.sphinxsidebar,
+ div.related,
+ div.footer,
+ #top-link {
+ display: none;
+ }
+} \ No newline at end of file
diff --git a/v11.0.1/_static/changelog.css b/v11.0.1/_static/changelog.css
new file mode 100644
index 00000000..343792a1
--- /dev/null
+++ b/v11.0.1/_static/changelog.css
@@ -0,0 +1,11 @@
+[data-theme='dark'] #changelog .dark,
+[data-theme='light'] #changelog .light,
+[data-theme='auto'] #changelog .light {
+ display: inline;
+}
+
+[data-theme='dark'] #changelog .light,
+[data-theme='light'] #changelog .dark,
+[data-theme='auto'] #changelog .dark {
+ display: none;
+}
diff --git a/v11.0.1/_static/changelog.js b/v11.0.1/_static/changelog.js
new file mode 100644
index 00000000..94834eaa
--- /dev/null
+++ b/v11.0.1/_static/changelog.js
@@ -0,0 +1,41 @@
+/** Update the changelog colors in dark mode */
+function changelog_color_main() {
+ const changelog = document.getElementById("changelog");
+
+ function updateEntryColor(span) {
+ const lightColorSpan = span;
+ const darkColorSpan = lightColorSpan.cloneNode(true);
+
+ lightColorSpan.parentElement.insertBefore(darkColorSpan, lightColorSpan);
+
+ lightColorSpan.classList.add("light");
+ darkColorSpan.classList.add("dark");
+
+ let color;
+ switch (darkColorSpan.textContent) {
+ case "Feature":
+ color = "#5BF38E";
+ break;
+ case "Support":
+ color = "#55A5E7";
+ break;
+ case "Bug":
+ color = "#E14F4F";
+ break;
+ default:
+ color = lightColorSpan.style.color;
+ }
+
+ darkColorSpan.style["color"] = color;
+ }
+
+ const TYPES = ["Feature", "Bug", "Support", "Breaking"];
+
+ if (changelog !== null) {
+ Array.from(changelog.getElementsByTagName("span"))
+ .filter(value => TYPES.includes(value.textContent))
+ .forEach(updateEntryColor)
+ }
+}
+
+changelog_color_main();
diff --git a/v11.0.1/_static/debug.css b/v11.0.1/_static/debug.css
new file mode 100644
index 00000000..74d4aec3
--- /dev/null
+++ b/v11.0.1/_static/debug.css
@@ -0,0 +1,69 @@
+/*
+ This CSS file should be overridden by the theme authors. It's
+ meant for debugging and developing the skeleton that this theme provides.
+*/
+body {
+ font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
+ "Apple Color Emoji", "Segoe UI Emoji";
+ background: lavender;
+}
+.sb-announcement {
+ background: rgb(131, 131, 131);
+}
+.sb-announcement__inner {
+ background: black;
+ color: white;
+}
+.sb-header {
+ background: lightskyblue;
+}
+.sb-header__inner {
+ background: royalblue;
+ color: white;
+}
+.sb-header-secondary {
+ background: lightcyan;
+}
+.sb-header-secondary__inner {
+ background: cornflowerblue;
+ color: white;
+}
+.sb-sidebar-primary {
+ background: lightgreen;
+}
+.sb-main {
+ background: blanchedalmond;
+}
+.sb-main__inner {
+ background: antiquewhite;
+}
+.sb-header-article {
+ background: lightsteelblue;
+}
+.sb-article-container {
+ background: snow;
+}
+.sb-article-main {
+ background: white;
+}
+.sb-footer-article {
+ background: lightpink;
+}
+.sb-sidebar-secondary {
+ background: lightgoldenrodyellow;
+}
+.sb-footer-content {
+ background: plum;
+}
+.sb-footer-content__inner {
+ background: palevioletred;
+}
+.sb-footer {
+ background: pink;
+}
+.sb-footer__inner {
+ background: salmon;
+}
+.sb-article {
+ background: white;
+}
diff --git a/v11.0.1/_static/doctools.js b/v11.0.1/_static/doctools.js
new file mode 100644
index 00000000..d06a71d7
--- /dev/null
+++ b/v11.0.1/_static/doctools.js
@@ -0,0 +1,156 @@
+/*
+ * doctools.js
+ * ~~~~~~~~~~~
+ *
+ * Base JavaScript utilities for all Sphinx HTML documentation.
+ *
+ * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+"use strict";
+
+const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([
+ "TEXTAREA",
+ "INPUT",
+ "SELECT",
+ "BUTTON",
+]);
+
+const _ready = (callback) => {
+ if (document.readyState !== "loading") {
+ callback();
+ } else {
+ document.addEventListener("DOMContentLoaded", callback);
+ }
+};
+
+/**
+ * Small JavaScript module for the documentation.
+ */
+const Documentation = {
+ init: () => {
+ Documentation.initDomainIndexTable();
+ Documentation.initOnKeyListeners();
+ },
+
+ /**
+ * i18n support
+ */
+ TRANSLATIONS: {},
+ PLURAL_EXPR: (n) => (n === 1 ? 0 : 1),
+ LOCALE: "unknown",
+
+ // gettext and ngettext don't access this so that the functions
+ // can safely bound to a different name (_ = Documentation.gettext)
+ gettext: (string) => {
+ const translated = Documentation.TRANSLATIONS[string];
+ switch (typeof translated) {
+ case "undefined":
+ return string; // no translation
+ case "string":
+ return translated; // translation exists
+ default:
+ return translated[0]; // (singular, plural) translation tuple exists
+ }
+ },
+
+ ngettext: (singular, plural, n) => {
+ const translated = Documentation.TRANSLATIONS[singular];
+ if (typeof translated !== "undefined")
+ return translated[Documentation.PLURAL_EXPR(n)];
+ return n === 1 ? singular : plural;
+ },
+
+ addTranslations: (catalog) => {
+ Object.assign(Documentation.TRANSLATIONS, catalog.messages);
+ Documentation.PLURAL_EXPR = new Function(
+ "n",
+ `return (${catalog.plural_expr})`
+ );
+ Documentation.LOCALE = catalog.locale;
+ },
+
+ /**
+ * helper function to focus on search bar
+ */
+ focusSearchBar: () => {
+ document.querySelectorAll("input[name=q]")[0]?.focus();
+ },
+
+ /**
+ * Initialise the domain index toggle buttons
+ */
+ initDomainIndexTable: () => {
+ const toggler = (el) => {
+ const idNumber = el.id.substr(7);
+ const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`);
+ if (el.src.substr(-9) === "minus.png") {
+ el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`;
+ toggledRows.forEach((el) => (el.style.display = "none"));
+ } else {
+ el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`;
+ toggledRows.forEach((el) => (el.style.display = ""));
+ }
+ };
+
+ const togglerElements = document.querySelectorAll("img.toggler");
+ togglerElements.forEach((el) =>
+ el.addEventListener("click", (event) => toggler(event.currentTarget))
+ );
+ togglerElements.forEach((el) => (el.style.display = ""));
+ if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler);
+ },
+
+ initOnKeyListeners: () => {
+ // only install a listener if it is really needed
+ if (
+ !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS &&
+ !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS
+ )
+ return;
+
+ document.addEventListener("keydown", (event) => {
+ // bail for input elements
+ if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
+ // bail with special keys
+ if (event.altKey || event.ctrlKey || event.metaKey) return;
+
+ if (!event.shiftKey) {
+ switch (event.key) {
+ case "ArrowLeft":
+ if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
+
+ const prevLink = document.querySelector('link[rel="prev"]');
+ if (prevLink && prevLink.href) {
+ window.location.href = prevLink.href;
+ event.preventDefault();
+ }
+ break;
+ case "ArrowRight":
+ if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
+
+ const nextLink = document.querySelector('link[rel="next"]');
+ if (nextLink && nextLink.href) {
+ window.location.href = nextLink.href;
+ event.preventDefault();
+ }
+ break;
+ }
+ }
+
+ // some keyboard layouts may need Shift to get /
+ switch (event.key) {
+ case "/":
+ if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break;
+ Documentation.focusSearchBar();
+ event.preventDefault();
+ }
+ });
+ },
+};
+
+// quick alias for translations
+const _ = Documentation.gettext;
+
+_ready(Documentation.init);
diff --git a/v11.0.1/_static/documentation_options.js b/v11.0.1/_static/documentation_options.js
new file mode 100644
index 00000000..99ec824d
--- /dev/null
+++ b/v11.0.1/_static/documentation_options.js
@@ -0,0 +1,13 @@
+const DOCUMENTATION_OPTIONS = {
+ VERSION: '11.0.1',
+ LANGUAGE: 'en',
+ COLLAPSE_INDEX: false,
+ BUILDER: 'html',
+ FILE_SUFFIX: '.html',
+ LINK_SUFFIX: '.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt',
+ NAVIGATION_WITH_KEYS: false,
+ SHOW_SEARCH_SUMMARY: true,
+ ENABLE_SEARCH_SHORTCUTS: true,
+}; \ No newline at end of file
diff --git a/v11.0.1/_static/file.png b/v11.0.1/_static/file.png
new file mode 100644
index 00000000..a858a410
--- /dev/null
+++ b/v11.0.1/_static/file.png
Binary files differ
diff --git a/v11.0.1/_static/index.css b/v11.0.1/_static/index.css
new file mode 100644
index 00000000..54f3f771
--- /dev/null
+++ b/v11.0.1/_static/index.css
@@ -0,0 +1,3 @@
+h1 {
+ font-weight: 300;
+}
diff --git a/v11.0.1/_static/language_data.js b/v11.0.1/_static/language_data.js
new file mode 100644
index 00000000..250f5665
--- /dev/null
+++ b/v11.0.1/_static/language_data.js
@@ -0,0 +1,199 @@
+/*
+ * language_data.js
+ * ~~~~~~~~~~~~~~~~
+ *
+ * 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.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+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 */
+
+/**
+ * Porter Stemmer
+ */
+var Stemmer = function() {
+
+ var step2list = {
+ ational: 'ate',
+ tional: 'tion',
+ enci: 'ence',
+ anci: 'ance',
+ izer: 'ize',
+ bli: 'ble',
+ alli: 'al',
+ entli: 'ent',
+ eli: 'e',
+ ousli: 'ous',
+ ization: 'ize',
+ ation: 'ate',
+ ator: 'ate',
+ alism: 'al',
+ iveness: 'ive',
+ fulness: 'ful',
+ ousness: 'ous',
+ aliti: 'al',
+ iviti: 'ive',
+ biliti: 'ble',
+ logi: 'log'
+ };
+
+ var step3list = {
+ icate: 'ic',
+ ative: '',
+ alize: 'al',
+ iciti: 'ic',
+ ical: 'ic',
+ ful: '',
+ ness: ''
+ };
+
+ var c = "[^aeiou]"; // consonant
+ var v = "[aeiouy]"; // vowel
+ var C = c + "[^aeiouy]*"; // consonant sequence
+ var V = v + "[aeiou]*"; // vowel sequence
+
+ var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0
+ var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1
+ var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1
+ var s_v = "^(" + C + ")?" + v; // vowel in stem
+
+ this.stemWord = function (w) {
+ var stem;
+ var suffix;
+ var firstch;
+ var origword = w;
+
+ if (w.length < 3)
+ return w;
+
+ var re;
+ var re2;
+ var re3;
+ var re4;
+
+ firstch = w.substr(0,1);
+ if (firstch == "y")
+ w = firstch.toUpperCase() + w.substr(1);
+
+ // Step 1a
+ re = /^(.+?)(ss|i)es$/;
+ re2 = /^(.+?)([^s])s$/;
+
+ if (re.test(w))
+ w = w.replace(re,"$1$2");
+ else if (re2.test(w))
+ w = w.replace(re2,"$1$2");
+
+ // Step 1b
+ re = /^(.+?)eed$/;
+ re2 = /^(.+?)(ed|ing)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ re = new RegExp(mgr0);
+ if (re.test(fp[1])) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ }
+ else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1];
+ re2 = new RegExp(s_v);
+ if (re2.test(stem)) {
+ w = stem;
+ re2 = /(at|bl|iz)$/;
+ re3 = new RegExp("([^aeiouylsz])\\1$");
+ re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re2.test(w))
+ w = w + "e";
+ else if (re3.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ else if (re4.test(w))
+ w = w + "e";
+ }
+ }
+
+ // Step 1c
+ re = /^(.+?)y$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(s_v);
+ if (re.test(stem))
+ w = stem + "i";
+ }
+
+ // Step 2
+ re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem))
+ w = stem + step2list[suffix];
+ }
+
+ // Step 3
+ re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem))
+ w = stem + step3list[suffix];
+ }
+
+ // Step 4
+ re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
+ re2 = /^(.+?)(s|t)(ion)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ if (re.test(stem))
+ w = stem;
+ }
+ else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1] + fp[2];
+ re2 = new RegExp(mgr1);
+ if (re2.test(stem))
+ w = stem;
+ }
+
+ // Step 5
+ re = /^(.+?)e$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ re2 = new RegExp(meq1);
+ re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
+ w = stem;
+ }
+ re = /ll$/;
+ re2 = new RegExp(mgr1);
+ if (re.test(w) && re2.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+
+ // and turn initial Y back to y
+ if (firstch == "y")
+ w = firstch.toLowerCase() + w.substr(1);
+ return w;
+ }
+}
+
diff --git a/v11.0.1/_static/logo.css b/v11.0.1/_static/logo.css
new file mode 100644
index 00000000..a9c28e5c
--- /dev/null
+++ b/v11.0.1/_static/logo.css
@@ -0,0 +1,3 @@
+.sidebar-logo {
+ border-radius: 50%;
+}
diff --git a/v11.0.1/_static/minus.png b/v11.0.1/_static/minus.png
new file mode 100644
index 00000000..d96755fd
--- /dev/null
+++ b/v11.0.1/_static/minus.png
Binary files differ
diff --git a/v11.0.1/_static/plus.png b/v11.0.1/_static/plus.png
new file mode 100644
index 00000000..7107cec9
--- /dev/null
+++ b/v11.0.1/_static/plus.png
Binary files differ
diff --git a/v11.0.1/_static/pygments.css b/v11.0.1/_static/pygments.css
new file mode 100644
index 00000000..c2e07c71
--- /dev/null
+++ b/v11.0.1/_static/pygments.css
@@ -0,0 +1,258 @@
+.highlight pre { line-height: 125%; }
+.highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+.highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+.highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+.highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #f8f8f8; }
+.highlight .c { color: #8f5902; font-style: italic } /* Comment */
+.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */
+.highlight .g { color: #000000 } /* Generic */
+.highlight .k { color: #204a87; font-weight: bold } /* Keyword */
+.highlight .l { color: #000000 } /* Literal */
+.highlight .n { color: #000000 } /* Name */
+.highlight .o { color: #ce5c00; font-weight: bold } /* Operator */
+.highlight .x { color: #000000 } /* Other */
+.highlight .p { color: #000000; font-weight: bold } /* Punctuation */
+.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */
+.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #8f5902; font-style: italic } /* Comment.Preproc */
+.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */
+.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */
+.highlight .gd { color: #a40000 } /* Generic.Deleted */
+.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */
+.highlight .ges { color: #000000; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+.highlight .gr { color: #ef2929 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #000000; font-style: italic } /* Generic.Output */
+.highlight .gp { color: #8f5902 } /* Generic.Prompt */
+.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */
+.highlight .kc { color: #204a87; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #204a87; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #204a87; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #204a87; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #204a87; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #204a87; font-weight: bold } /* Keyword.Type */
+.highlight .ld { color: #000000 } /* Literal.Date */
+.highlight .m { color: #0000cf; font-weight: bold } /* Literal.Number */
+.highlight .s { color: #4e9a06 } /* Literal.String */
+.highlight .na { color: #c4a000 } /* Name.Attribute */
+.highlight .nb { color: #204a87 } /* Name.Builtin */
+.highlight .nc { color: #000000 } /* Name.Class */
+.highlight .no { color: #000000 } /* Name.Constant */
+.highlight .nd { color: #5c35cc; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #ce5c00 } /* Name.Entity */
+.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #000000 } /* Name.Function */
+.highlight .nl { color: #f57900 } /* Name.Label */
+.highlight .nn { color: #000000 } /* Name.Namespace */
+.highlight .nx { color: #000000 } /* Name.Other */
+.highlight .py { color: #000000 } /* Name.Property */
+.highlight .nt { color: #204a87; font-weight: bold } /* Name.Tag */
+.highlight .nv { color: #000000 } /* Name.Variable */
+.highlight .ow { color: #204a87; font-weight: bold } /* Operator.Word */
+.highlight .pm { color: #000000; font-weight: bold } /* Punctuation.Marker */
+.highlight .w { color: #f8f8f8 } /* Text.Whitespace */
+.highlight .mb { color: #0000cf; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #0000cf; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #0000cf; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000cf; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #0000cf; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */
+.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */
+.highlight .sc { color: #4e9a06 } /* Literal.String.Char */
+.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */
+.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */
+.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */
+.highlight .se { color: #4e9a06 } /* Literal.String.Escape */
+.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */
+.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */
+.highlight .sx { color: #4e9a06 } /* Literal.String.Other */
+.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */
+.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */
+.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */
+.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #000000 } /* Name.Function.Magic */
+.highlight .vc { color: #000000 } /* Name.Variable.Class */
+.highlight .vg { color: #000000 } /* Name.Variable.Global */
+.highlight .vi { color: #000000 } /* Name.Variable.Instance */
+.highlight .vm { color: #000000 } /* Name.Variable.Magic */
+.highlight .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */
+@media not print {
+body[data-theme="dark"] .highlight pre { line-height: 125%; }
+body[data-theme="dark"] .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+body[data-theme="dark"] .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+body[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+body[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+body[data-theme="dark"] .highlight .hll { background-color: #404040 }
+body[data-theme="dark"] .highlight { background: #202020; color: #d0d0d0 }
+body[data-theme="dark"] .highlight .c { color: #ababab; font-style: italic } /* Comment */
+body[data-theme="dark"] .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
+body[data-theme="dark"] .highlight .esc { color: #d0d0d0 } /* Escape */
+body[data-theme="dark"] .highlight .g { color: #d0d0d0 } /* Generic */
+body[data-theme="dark"] .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */
+body[data-theme="dark"] .highlight .l { color: #d0d0d0 } /* Literal */
+body[data-theme="dark"] .highlight .n { color: #d0d0d0 } /* Name */
+body[data-theme="dark"] .highlight .o { color: #d0d0d0 } /* Operator */
+body[data-theme="dark"] .highlight .x { color: #d0d0d0 } /* Other */
+body[data-theme="dark"] .highlight .p { color: #d0d0d0 } /* Punctuation */
+body[data-theme="dark"] .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */
+body[data-theme="dark"] .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */
+body[data-theme="dark"] .highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */
+body[data-theme="dark"] .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */
+body[data-theme="dark"] .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */
+body[data-theme="dark"] .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */
+body[data-theme="dark"] .highlight .gd { color: #d22323 } /* Generic.Deleted */
+body[data-theme="dark"] .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */
+body[data-theme="dark"] .highlight .ges { color: #d0d0d0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+body[data-theme="dark"] .highlight .gr { color: #d22323 } /* Generic.Error */
+body[data-theme="dark"] .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */
+body[data-theme="dark"] .highlight .gi { color: #589819 } /* Generic.Inserted */
+body[data-theme="dark"] .highlight .go { color: #cccccc } /* Generic.Output */
+body[data-theme="dark"] .highlight .gp { color: #aaaaaa } /* Generic.Prompt */
+body[data-theme="dark"] .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */
+body[data-theme="dark"] .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */
+body[data-theme="dark"] .highlight .gt { color: #d22323 } /* Generic.Traceback */
+body[data-theme="dark"] .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */
+body[data-theme="dark"] .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */
+body[data-theme="dark"] .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */
+body[data-theme="dark"] .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */
+body[data-theme="dark"] .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */
+body[data-theme="dark"] .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */
+body[data-theme="dark"] .highlight .ld { color: #d0d0d0 } /* Literal.Date */
+body[data-theme="dark"] .highlight .m { color: #51b2fd } /* Literal.Number */
+body[data-theme="dark"] .highlight .s { color: #ed9d13 } /* Literal.String */
+body[data-theme="dark"] .highlight .na { color: #bbbbbb } /* Name.Attribute */
+body[data-theme="dark"] .highlight .nb { color: #2fbccd } /* Name.Builtin */
+body[data-theme="dark"] .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */
+body[data-theme="dark"] .highlight .no { color: #40ffff } /* Name.Constant */
+body[data-theme="dark"] .highlight .nd { color: #ffa500 } /* Name.Decorator */
+body[data-theme="dark"] .highlight .ni { color: #d0d0d0 } /* Name.Entity */
+body[data-theme="dark"] .highlight .ne { color: #bbbbbb } /* Name.Exception */
+body[data-theme="dark"] .highlight .nf { color: #71adff } /* Name.Function */
+body[data-theme="dark"] .highlight .nl { color: #d0d0d0 } /* Name.Label */
+body[data-theme="dark"] .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */
+body[data-theme="dark"] .highlight .nx { color: #d0d0d0 } /* Name.Other */
+body[data-theme="dark"] .highlight .py { color: #d0d0d0 } /* Name.Property */
+body[data-theme="dark"] .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */
+body[data-theme="dark"] .highlight .nv { color: #40ffff } /* Name.Variable */
+body[data-theme="dark"] .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */
+body[data-theme="dark"] .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */
+body[data-theme="dark"] .highlight .w { color: #666666 } /* Text.Whitespace */
+body[data-theme="dark"] .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */
+body[data-theme="dark"] .highlight .mf { color: #51b2fd } /* Literal.Number.Float */
+body[data-theme="dark"] .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */
+body[data-theme="dark"] .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */
+body[data-theme="dark"] .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */
+body[data-theme="dark"] .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */
+body[data-theme="dark"] .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */
+body[data-theme="dark"] .highlight .sc { color: #ed9d13 } /* Literal.String.Char */
+body[data-theme="dark"] .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */
+body[data-theme="dark"] .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */
+body[data-theme="dark"] .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */
+body[data-theme="dark"] .highlight .se { color: #ed9d13 } /* Literal.String.Escape */
+body[data-theme="dark"] .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */
+body[data-theme="dark"] .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */
+body[data-theme="dark"] .highlight .sx { color: #ffa500 } /* Literal.String.Other */
+body[data-theme="dark"] .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */
+body[data-theme="dark"] .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */
+body[data-theme="dark"] .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */
+body[data-theme="dark"] .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */
+body[data-theme="dark"] .highlight .fm { color: #71adff } /* Name.Function.Magic */
+body[data-theme="dark"] .highlight .vc { color: #40ffff } /* Name.Variable.Class */
+body[data-theme="dark"] .highlight .vg { color: #40ffff } /* Name.Variable.Global */
+body[data-theme="dark"] .highlight .vi { color: #40ffff } /* Name.Variable.Instance */
+body[data-theme="dark"] .highlight .vm { color: #40ffff } /* Name.Variable.Magic */
+body[data-theme="dark"] .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */
+@media (prefers-color-scheme: dark) {
+body:not([data-theme="light"]) .highlight pre { line-height: 125%; }
+body:not([data-theme="light"]) .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+body:not([data-theme="light"]) .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+body:not([data-theme="light"]) .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+body:not([data-theme="light"]) .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+body:not([data-theme="light"]) .highlight .hll { background-color: #404040 }
+body:not([data-theme="light"]) .highlight { background: #202020; color: #d0d0d0 }
+body:not([data-theme="light"]) .highlight .c { color: #ababab; font-style: italic } /* Comment */
+body:not([data-theme="light"]) .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
+body:not([data-theme="light"]) .highlight .esc { color: #d0d0d0 } /* Escape */
+body:not([data-theme="light"]) .highlight .g { color: #d0d0d0 } /* Generic */
+body:not([data-theme="light"]) .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */
+body:not([data-theme="light"]) .highlight .l { color: #d0d0d0 } /* Literal */
+body:not([data-theme="light"]) .highlight .n { color: #d0d0d0 } /* Name */
+body:not([data-theme="light"]) .highlight .o { color: #d0d0d0 } /* Operator */
+body:not([data-theme="light"]) .highlight .x { color: #d0d0d0 } /* Other */
+body:not([data-theme="light"]) .highlight .p { color: #d0d0d0 } /* Punctuation */
+body:not([data-theme="light"]) .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */
+body:not([data-theme="light"]) .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */
+body:not([data-theme="light"]) .highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */
+body:not([data-theme="light"]) .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */
+body:not([data-theme="light"]) .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */
+body:not([data-theme="light"]) .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */
+body:not([data-theme="light"]) .highlight .gd { color: #d22323 } /* Generic.Deleted */
+body:not([data-theme="light"]) .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */
+body:not([data-theme="light"]) .highlight .ges { color: #d0d0d0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+body:not([data-theme="light"]) .highlight .gr { color: #d22323 } /* Generic.Error */
+body:not([data-theme="light"]) .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */
+body:not([data-theme="light"]) .highlight .gi { color: #589819 } /* Generic.Inserted */
+body:not([data-theme="light"]) .highlight .go { color: #cccccc } /* Generic.Output */
+body:not([data-theme="light"]) .highlight .gp { color: #aaaaaa } /* Generic.Prompt */
+body:not([data-theme="light"]) .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */
+body:not([data-theme="light"]) .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */
+body:not([data-theme="light"]) .highlight .gt { color: #d22323 } /* Generic.Traceback */
+body:not([data-theme="light"]) .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */
+body:not([data-theme="light"]) .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */
+body:not([data-theme="light"]) .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */
+body:not([data-theme="light"]) .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */
+body:not([data-theme="light"]) .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */
+body:not([data-theme="light"]) .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */
+body:not([data-theme="light"]) .highlight .ld { color: #d0d0d0 } /* Literal.Date */
+body:not([data-theme="light"]) .highlight .m { color: #51b2fd } /* Literal.Number */
+body:not([data-theme="light"]) .highlight .s { color: #ed9d13 } /* Literal.String */
+body:not([data-theme="light"]) .highlight .na { color: #bbbbbb } /* Name.Attribute */
+body:not([data-theme="light"]) .highlight .nb { color: #2fbccd } /* Name.Builtin */
+body:not([data-theme="light"]) .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */
+body:not([data-theme="light"]) .highlight .no { color: #40ffff } /* Name.Constant */
+body:not([data-theme="light"]) .highlight .nd { color: #ffa500 } /* Name.Decorator */
+body:not([data-theme="light"]) .highlight .ni { color: #d0d0d0 } /* Name.Entity */
+body:not([data-theme="light"]) .highlight .ne { color: #bbbbbb } /* Name.Exception */
+body:not([data-theme="light"]) .highlight .nf { color: #71adff } /* Name.Function */
+body:not([data-theme="light"]) .highlight .nl { color: #d0d0d0 } /* Name.Label */
+body:not([data-theme="light"]) .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */
+body:not([data-theme="light"]) .highlight .nx { color: #d0d0d0 } /* Name.Other */
+body:not([data-theme="light"]) .highlight .py { color: #d0d0d0 } /* Name.Property */
+body:not([data-theme="light"]) .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */
+body:not([data-theme="light"]) .highlight .nv { color: #40ffff } /* Name.Variable */
+body:not([data-theme="light"]) .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */
+body:not([data-theme="light"]) .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */
+body:not([data-theme="light"]) .highlight .w { color: #666666 } /* Text.Whitespace */
+body:not([data-theme="light"]) .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */
+body:not([data-theme="light"]) .highlight .mf { color: #51b2fd } /* Literal.Number.Float */
+body:not([data-theme="light"]) .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */
+body:not([data-theme="light"]) .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */
+body:not([data-theme="light"]) .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */
+body:not([data-theme="light"]) .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */
+body:not([data-theme="light"]) .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */
+body:not([data-theme="light"]) .highlight .sc { color: #ed9d13 } /* Literal.String.Char */
+body:not([data-theme="light"]) .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */
+body:not([data-theme="light"]) .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */
+body:not([data-theme="light"]) .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */
+body:not([data-theme="light"]) .highlight .se { color: #ed9d13 } /* Literal.String.Escape */
+body:not([data-theme="light"]) .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */
+body:not([data-theme="light"]) .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */
+body:not([data-theme="light"]) .highlight .sx { color: #ffa500 } /* Literal.String.Other */
+body:not([data-theme="light"]) .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */
+body:not([data-theme="light"]) .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */
+body:not([data-theme="light"]) .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */
+body:not([data-theme="light"]) .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */
+body:not([data-theme="light"]) .highlight .fm { color: #71adff } /* Name.Function.Magic */
+body:not([data-theme="light"]) .highlight .vc { color: #40ffff } /* Name.Variable.Class */
+body:not([data-theme="light"]) .highlight .vg { color: #40ffff } /* Name.Variable.Global */
+body:not([data-theme="light"]) .highlight .vi { color: #40ffff } /* Name.Variable.Instance */
+body:not([data-theme="light"]) .highlight .vm { color: #40ffff } /* Name.Variable.Magic */
+body:not([data-theme="light"]) .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */
+}
+} \ No newline at end of file
diff --git a/v11.0.1/_static/scripts/furo-extensions.js b/v11.0.1/_static/scripts/furo-extensions.js
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/v11.0.1/_static/scripts/furo-extensions.js
diff --git a/v11.0.1/_static/scripts/furo.js b/v11.0.1/_static/scripts/furo.js
new file mode 100644
index 00000000..32e7c05b
--- /dev/null
+++ b/v11.0.1/_static/scripts/furo.js
@@ -0,0 +1,3 @@
+/*! For license information please see furo.js.LICENSE.txt */
+(()=>{var t={212:function(t,e,n){var o,r;r=void 0!==n.g?n.g:"undefined"!=typeof window?window:this,o=function(){return function(t){"use strict";var e={navClass:"active",contentClass:"active",nested:!1,nestedClass:"active",offset:0,reflow:!1,events:!0},n=function(t,e,n){if(n.settings.events){var o=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:n});e.dispatchEvent(o)}},o=function(t){var e=0;if(t.offsetParent)for(;t;)e+=t.offsetTop,t=t.offsetParent;return e>=0?e:0},r=function(t){t&&t.sort((function(t,e){return o(t.content)<o(e.content)?-1:1}))},c=function(e,n,o){var r=e.getBoundingClientRect(),c=function(t){return"function"==typeof t.offset?parseFloat(t.offset()):parseFloat(t.offset)}(n);return o?parseInt(r.bottom,10)<(t.innerHeight||document.documentElement.clientHeight):parseInt(r.top,10)<=c},s=function(){return Math.ceil(t.innerHeight+t.pageYOffset)>=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},l=function(t,e){var n=t[t.length-1];if(function(t,e){return!(!s()||!c(t.content,e,!0))}(n,e))return n;for(var o=t.length-1;o>=0;o--)if(c(t[o].content,e))return t[o]},a=function(t,e){if(e.nested&&t.parentNode){var n=t.parentNode.closest("li");n&&(n.classList.remove(e.nestedClass),a(n,e))}},i=function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.remove(e.navClass),t.content.classList.remove(e.contentClass),a(o,e),n("gumshoeDeactivate",o,{link:t.nav,content:t.content,settings:e}))}},u=function(t,e){if(e.nested){var n=t.parentNode.closest("li");n&&(n.classList.add(e.nestedClass),u(n,e))}};return function(o,c){var s,a,d,f,m,v={setup:function(){s=document.querySelectorAll(o),a=[],Array.prototype.forEach.call(s,(function(t){var e=document.getElementById(decodeURIComponent(t.hash.substr(1)));e&&a.push({nav:t,content:e})})),r(a)},detect:function(){var t=l(a,m);t?d&&t.content===d.content||(i(d,m),function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.add(e.navClass),t.content.classList.add(e.contentClass),u(o,e),n("gumshoeActivate",o,{link:t.nav,content:t.content,settings:e}))}}(t,m),d=t):d&&(i(d,m),d=null)}},h=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame(v.detect)},g=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame((function(){r(a),v.detect()}))};return v.destroy=function(){d&&i(d,m),t.removeEventListener("scroll",h,!1),m.reflow&&t.removeEventListener("resize",g,!1),a=null,s=null,d=null,f=null,m=null},m=function(){var t={};return Array.prototype.forEach.call(arguments,(function(e){for(var n in e){if(!e.hasOwnProperty(n))return;t[n]=e[n]}})),t}(e,c||{}),v.setup(),v.detect(),t.addEventListener("scroll",h,!1),m.reflow&&t.addEventListener("resize",g,!1),v}}(r)}.apply(e,[]),void 0===o||(t.exports=o)}},e={};function n(o){var r=e[o];if(void 0!==r)return r.exports;var c=e[o]={exports:{}};return t[o].call(c.exports,c,c.exports,n),c.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=n(212),e=n.n(t),o=null,r=null,c=window.pageYOffset||document.documentElement.scrollTop;const s=64;function l(){const t=localStorage.getItem("theme")||"auto";var e;"light"!==(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"auto"===t?"light":"light"==t?"dark":"auto":"auto"===t?"dark":"dark"==t?"light":"auto")&&"dark"!==e&&"auto"!==e&&(console.error(`Got invalid theme mode: ${e}. Resetting to auto.`),e="auto"),document.body.dataset.theme=e,localStorage.setItem("theme",e),console.log(`Changed to ${e} mode.`)}function a(){!function(){const t=document.getElementsByClassName("theme-toggle");Array.from(t).forEach((t=>{t.addEventListener("click",l)}))}(),function(){let t=0,e=!1;window.addEventListener("scroll",(function(n){t=window.scrollY,e||(window.requestAnimationFrame((function(){var n;n=t,0==Math.floor(r.getBoundingClientRect().top)?r.classList.add("scrolled"):r.classList.remove("scrolled"),function(t){t<s?document.documentElement.classList.remove("show-back-to-top"):t<c?document.documentElement.classList.add("show-back-to-top"):t>c&&document.documentElement.classList.remove("show-back-to-top"),c=t}(n),function(t){null!==o&&(0==t?o.scrollTo(0,0):Math.ceil(t)>=Math.floor(document.documentElement.scrollHeight-window.innerHeight)?o.scrollTo(0,o.scrollHeight):document.querySelector(".scroll-current"))}(n),e=!1})),e=!0)})),window.scroll()}(),null!==o&&new(e())(".toc-tree a",{reflow:!0,recursive:!0,navClass:"scroll-current",offset:()=>{let t=parseFloat(getComputedStyle(document.documentElement).fontSize);return r.getBoundingClientRect().height+.5*t+1}})}document.addEventListener("DOMContentLoaded",(function(){document.body.parentNode.classList.remove("no-js"),r=document.querySelector("header"),o=document.querySelector(".toc-scroll"),a()}))})()})();
+//# sourceMappingURL=furo.js.map \ No newline at end of file
diff --git a/v11.0.1/_static/scripts/furo.js.LICENSE.txt b/v11.0.1/_static/scripts/furo.js.LICENSE.txt
new file mode 100644
index 00000000..1632189c
--- /dev/null
+++ b/v11.0.1/_static/scripts/furo.js.LICENSE.txt
@@ -0,0 +1,7 @@
+/*!
+ * gumshoejs v5.1.2 (patched by @pradyunsg)
+ * A simple, framework-agnostic scrollspy script.
+ * (c) 2019 Chris Ferdinandi
+ * MIT License
+ * http://github.com/cferdinandi/gumshoe
+ */
diff --git a/v11.0.1/_static/scripts/furo.js.map b/v11.0.1/_static/scripts/furo.js.map
new file mode 100644
index 00000000..47053022
--- /dev/null
+++ b/v11.0.1/_static/scripts/furo.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"scripts/furo.js","mappings":";iCAAA,MAQWA,SAWS,IAAX,EAAAC,EACH,EAAAA,EACkB,oBAAXC,OACLA,OACAC,KAbO,EAAF,WACP,OAaJ,SAAUD,GACR,aAMA,IAAIE,EAAW,CAEbC,SAAU,SACVC,aAAc,SAGdC,QAAQ,EACRC,YAAa,SAGbC,OAAQ,EACRC,QAAQ,EAGRC,QAAQ,GA6BNC,EAAY,SAAUC,EAAMC,EAAMC,GAEpC,GAAKA,EAAOC,SAASL,OAArB,CAGA,IAAIM,EAAQ,IAAIC,YAAYL,EAAM,CAChCM,SAAS,EACTC,YAAY,EACZL,OAAQA,IAIVD,EAAKO,cAAcJ,EAVgB,CAWrC,EAOIK,EAAe,SAAUR,GAC3B,IAAIS,EAAW,EACf,GAAIT,EAAKU,aACP,KAAOV,GACLS,GAAYT,EAAKW,UACjBX,EAAOA,EAAKU,aAGhB,OAAOD,GAAY,EAAIA,EAAW,CACpC,EAMIG,EAAe,SAAUC,GACvBA,GACFA,EAASC,MAAK,SAAUC,EAAOC,GAG7B,OAFcR,EAAaO,EAAME,SACnBT,EAAaQ,EAAMC,UACF,EACxB,CACT,GAEJ,EAwCIC,EAAW,SAAUlB,EAAME,EAAUiB,GACvC,IAAIC,EAASpB,EAAKqB,wBACd1B,EAnCU,SAAUO,GAExB,MAA+B,mBAApBA,EAASP,OACX2B,WAAWpB,EAASP,UAItB2B,WAAWpB,EAASP,OAC7B,CA2Be4B,CAAUrB,GACvB,OAAIiB,EAEAK,SAASJ,EAAOD,OAAQ,KACvB/B,EAAOqC,aAAeC,SAASC,gBAAgBC,cAG7CJ,SAASJ,EAAOS,IAAK,KAAOlC,CACrC,EAMImC,EAAa,WACf,OACEC,KAAKC,KAAK5C,EAAOqC,YAAcrC,EAAO6C,cAnCjCF,KAAKG,IACVR,SAASS,KAAKC,aACdV,SAASC,gBAAgBS,aACzBV,SAASS,KAAKE,aACdX,SAASC,gBAAgBU,aACzBX,SAASS,KAAKP,aACdF,SAASC,gBAAgBC,aAkC7B,EAmBIU,EAAY,SAAUzB,EAAUX,GAClC,IAAIqC,EAAO1B,EAASA,EAAS2B,OAAS,GACtC,GAbgB,SAAUC,EAAMvC,GAChC,SAAI4B,MAAgBZ,EAASuB,EAAKxB,QAASf,GAAU,GAEvD,CAUMwC,CAAYH,EAAMrC,GAAW,OAAOqC,EACxC,IAAK,IAAII,EAAI9B,EAAS2B,OAAS,EAAGG,GAAK,EAAGA,IACxC,GAAIzB,EAASL,EAAS8B,GAAG1B,QAASf,GAAW,OAAOW,EAAS8B,EAEjE,EAOIC,EAAmB,SAAUC,EAAK3C,GAEpC,GAAKA,EAAST,QAAWoD,EAAIC,WAA7B,CAGA,IAAIC,EAAKF,EAAIC,WAAWE,QAAQ,MAC3BD,IAGLA,EAAGE,UAAUC,OAAOhD,EAASR,aAG7BkD,EAAiBG,EAAI7C,GAV0B,CAWjD,EAOIiD,EAAa,SAAUC,EAAOlD,GAEhC,GAAKkD,EAAL,CAGA,IAAIL,EAAKK,EAAMP,IAAIG,QAAQ,MACtBD,IAGLA,EAAGE,UAAUC,OAAOhD,EAASX,UAC7B6D,EAAMnC,QAAQgC,UAAUC,OAAOhD,EAASV,cAGxCoD,EAAiBG,EAAI7C,GAGrBJ,EAAU,oBAAqBiD,EAAI,CACjCM,KAAMD,EAAMP,IACZ5B,QAASmC,EAAMnC,QACff,SAAUA,IAjBM,CAmBpB,EAOIoD,EAAiB,SAAUT,EAAK3C,GAElC,GAAKA,EAAST,OAAd,CAGA,IAAIsD,EAAKF,EAAIC,WAAWE,QAAQ,MAC3BD,IAGLA,EAAGE,UAAUM,IAAIrD,EAASR,aAG1B4D,EAAeP,EAAI7C,GAVS,CAW9B,EA6LA,OA1JkB,SAAUsD,EAAUC,GAKpC,IACIC,EAAU7C,EAAU8C,EAASC,EAAS1D,EADtC2D,EAAa,CAUjBA,MAAmB,WAEjBH,EAAWhC,SAASoC,iBAAiBN,GAGrC3C,EAAW,GAGXkD,MAAMC,UAAUC,QAAQC,KAAKR,GAAU,SAAUjB,GAE/C,IAAIxB,EAAUS,SAASyC,eACrBC,mBAAmB3B,EAAK4B,KAAKC,OAAO,KAEjCrD,GAGLJ,EAAS0D,KAAK,CACZ1B,IAAKJ,EACLxB,QAASA,GAEb,IAGAL,EAAaC,EACf,EAKAgD,OAAoB,WAElB,IAAIW,EAASlC,EAAUzB,EAAUX,GAG5BsE,EASDb,GAAWa,EAAOvD,UAAY0C,EAAQ1C,UAG1CkC,EAAWQ,EAASzD,GAzFT,SAAUkD,EAAOlD,GAE9B,GAAKkD,EAAL,CAGA,IAAIL,EAAKK,EAAMP,IAAIG,QAAQ,MACtBD,IAGLA,EAAGE,UAAUM,IAAIrD,EAASX,UAC1B6D,EAAMnC,QAAQgC,UAAUM,IAAIrD,EAASV,cAGrC8D,EAAeP,EAAI7C,GAGnBJ,EAAU,kBAAmBiD,EAAI,CAC/BM,KAAMD,EAAMP,IACZ5B,QAASmC,EAAMnC,QACff,SAAUA,IAjBM,CAmBpB,CAqEIuE,CAASD,EAAQtE,GAGjByD,EAAUa,GAfJb,IACFR,EAAWQ,EAASzD,GACpByD,EAAU,KAchB,GAMIe,EAAgB,SAAUvE,GAExByD,GACFxE,EAAOuF,qBAAqBf,GAI9BA,EAAUxE,EAAOwF,sBAAsBf,EAAWgB,OACpD,EAMIC,EAAgB,SAAU3E,GAExByD,GACFxE,EAAOuF,qBAAqBf,GAI9BA,EAAUxE,EAAOwF,uBAAsB,WACrChE,EAAaC,GACbgD,EAAWgB,QACb,GACF,EAkDA,OA7CAhB,EAAWkB,QAAU,WAEfpB,GACFR,EAAWQ,EAASzD,GAItBd,EAAO4F,oBAAoB,SAAUN,GAAe,GAChDxE,EAASN,QACXR,EAAO4F,oBAAoB,SAAUF,GAAe,GAItDjE,EAAW,KACX6C,EAAW,KACXC,EAAU,KACVC,EAAU,KACV1D,EAAW,IACb,EAOEA,EA3XS,WACX,IAAI+E,EAAS,CAAC,EAOd,OANAlB,MAAMC,UAAUC,QAAQC,KAAKgB,WAAW,SAAUC,GAChD,IAAK,IAAIC,KAAOD,EAAK,CACnB,IAAKA,EAAIE,eAAeD,GAAM,OAC9BH,EAAOG,GAAOD,EAAIC,EACpB,CACF,IACOH,CACT,CAkXeK,CAAOhG,EAAUmE,GAAW,CAAC,GAGxCI,EAAW0B,QAGX1B,EAAWgB,SAGXzF,EAAOoG,iBAAiB,SAAUd,GAAe,GAC7CxE,EAASN,QACXR,EAAOoG,iBAAiB,SAAUV,GAAe,GAS9CjB,CACT,CAOF,CArcW4B,CAAQvG,EAChB,UAFM,SAEN,uBCXDwG,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASN,EAAyBE,GAAY,CAGjDG,QAAS,CAAC,GAOX,OAHAE,EAAoBL,GAAU1B,KAAK8B,EAAOD,QAASC,EAAQA,EAAOD,QAASJ,GAGpEK,EAAOD,OACf,CCrBAJ,EAAoBO,EAAKF,IACxB,IAAIG,EAASH,GAAUA,EAAOI,WAC7B,IAAOJ,EAAiB,QACxB,IAAM,EAEP,OADAL,EAAoBU,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CAAM,ECLdR,EAAoBU,EAAI,CAACN,EAASQ,KACjC,IAAI,IAAInB,KAAOmB,EACXZ,EAAoBa,EAAED,EAAYnB,KAASO,EAAoBa,EAAET,EAASX,IAC5EqB,OAAOC,eAAeX,EAASX,EAAK,CAAEuB,YAAY,EAAMC,IAAKL,EAAWnB,IAE1E,ECNDO,EAAoBxG,EAAI,WACvB,GAA0B,iBAAf0H,WAAyB,OAAOA,WAC3C,IACC,OAAOxH,MAAQ,IAAIyH,SAAS,cAAb,EAChB,CAAE,MAAOC,GACR,GAAsB,iBAAX3H,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxBuG,EAAoBa,EAAI,CAACrB,EAAK6B,IAAUP,OAAOzC,UAAUqB,eAAenB,KAAKiB,EAAK6B,4CCK9EC,EAAY,KACZC,EAAS,KACTC,EAAgB/H,OAAO6C,aAAeP,SAASC,gBAAgByF,UACnE,MAAMC,EAAmB,GA2EzB,SAASC,IACP,MAAMC,EAAeC,aAAaC,QAAQ,UAAY,OAZxD,IAAkBC,EACH,WADGA,EAaItI,OAAOuI,WAAW,gCAAgCC,QAI/C,SAAjBL,EACO,QACgB,SAAhBA,EACA,OAEA,OAIU,SAAjBA,EACO,OACgB,QAAhBA,EACA,QAEA,SA9BoB,SAATG,GAA4B,SAATA,IACzCG,QAAQC,MAAM,2BAA2BJ,yBACzCA,EAAO,QAGThG,SAASS,KAAK4F,QAAQC,MAAQN,EAC9BF,aAAaS,QAAQ,QAASP,GAC9BG,QAAQK,IAAI,cAAcR,UA0B5B,CAkDA,SAASnC,KART,WAEE,MAAM4C,EAAUzG,SAAS0G,uBAAuB,gBAChDrE,MAAMsE,KAAKF,GAASlE,SAASqE,IAC3BA,EAAI9C,iBAAiB,QAAS8B,EAAe,GAEjD,CAGEiB,GA9CF,WAEE,IAAIC,EAA6B,EAC7BC,GAAU,EAEdrJ,OAAOoG,iBAAiB,UAAU,SAAUuB,GAC1CyB,EAA6BpJ,OAAOsJ,QAE/BD,IACHrJ,OAAOwF,uBAAsB,WAzDnC,IAAuB+D,IA0DDH,EA9GkC,GAAlDzG,KAAK6G,MAAM1B,EAAO7F,wBAAwBQ,KAC5CqF,EAAOjE,UAAUM,IAAI,YAErB2D,EAAOjE,UAAUC,OAAO,YAI5B,SAAmCyF,GAC7BA,EAAYtB,EACd3F,SAASC,gBAAgBsB,UAAUC,OAAO,oBAEtCyF,EAAYxB,EACdzF,SAASC,gBAAgBsB,UAAUM,IAAI,oBAC9BoF,EAAYxB,GACrBzF,SAASC,gBAAgBsB,UAAUC,OAAO,oBAG9CiE,EAAgBwB,CAClB,CAoCEE,CAA0BF,GAlC5B,SAA6BA,GACT,OAAd1B,IAKa,GAAb0B,EACF1B,EAAU6B,SAAS,EAAG,GAGtB/G,KAAKC,KAAK2G,IACV5G,KAAK6G,MAAMlH,SAASC,gBAAgBS,aAAehD,OAAOqC,aAE1DwF,EAAU6B,SAAS,EAAG7B,EAAU7E,cAGhBV,SAASqH,cAAc,mBAc3C,CAKEC,CAAoBL,GAwDdF,GAAU,CACZ,IAEAA,GAAU,EAEd,IACArJ,OAAO6J,QACT,CA6BEC,GA1BkB,OAAdjC,GAKJ,IAAI,IAAJ,CAAY,cAAe,CACzBrH,QAAQ,EACRuJ,WAAW,EACX5J,SAAU,iBACVI,OAAQ,KACN,IAAIyJ,EAAM9H,WAAW+H,iBAAiB3H,SAASC,iBAAiB2H,UAChE,OAAOpC,EAAO7F,wBAAwBkI,OAAS,GAAMH,EAAM,CAAC,GAiBlE,CAcA1H,SAAS8D,iBAAiB,oBAT1B,WACE9D,SAASS,KAAKW,WAAWG,UAAUC,OAAO,SAE1CgE,EAASxF,SAASqH,cAAc,UAChC9B,EAAYvF,SAASqH,cAAc,eAEnCxD,GACF","sources":["webpack:///./src/furo/assets/scripts/gumshoe-patched.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///./src/furo/assets/scripts/furo.js"],"sourcesContent":["/*!\n * gumshoejs v5.1.2 (patched by @pradyunsg)\n * A simple, framework-agnostic scrollspy script.\n * (c) 2019 Chris Ferdinandi\n * MIT License\n * http://github.com/cferdinandi/gumshoe\n */\n\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof exports === \"object\") {\n module.exports = factory(root);\n } else {\n root.Gumshoe = factory(root);\n }\n})(\n typeof global !== \"undefined\"\n ? global\n : typeof window !== \"undefined\"\n ? window\n : this,\n function (window) {\n \"use strict\";\n\n //\n // Defaults\n //\n\n var defaults = {\n // Active classes\n navClass: \"active\",\n contentClass: \"active\",\n\n // Nested navigation\n nested: false,\n nestedClass: \"active\",\n\n // Offset & reflow\n offset: 0,\n reflow: false,\n\n // Event support\n events: true,\n };\n\n //\n // Methods\n //\n\n /**\n * Merge two or more objects together.\n * @param {Object} objects The objects to merge together\n * @returns {Object} Merged values of defaults and options\n */\n var extend = function () {\n var merged = {};\n Array.prototype.forEach.call(arguments, function (obj) {\n for (var key in obj) {\n if (!obj.hasOwnProperty(key)) return;\n merged[key] = obj[key];\n }\n });\n return merged;\n };\n\n /**\n * Emit a custom event\n * @param {String} type The event type\n * @param {Node} elem The element to attach the event to\n * @param {Object} detail Any details to pass along with the event\n */\n var emitEvent = function (type, elem, detail) {\n // Make sure events are enabled\n if (!detail.settings.events) return;\n\n // Create a new event\n var event = new CustomEvent(type, {\n bubbles: true,\n cancelable: true,\n detail: detail,\n });\n\n // Dispatch the event\n elem.dispatchEvent(event);\n };\n\n /**\n * Get an element's distance from the top of the Document.\n * @param {Node} elem The element\n * @return {Number} Distance from the top in pixels\n */\n var getOffsetTop = function (elem) {\n var location = 0;\n if (elem.offsetParent) {\n while (elem) {\n location += elem.offsetTop;\n elem = elem.offsetParent;\n }\n }\n return location >= 0 ? location : 0;\n };\n\n /**\n * Sort content from first to last in the DOM\n * @param {Array} contents The content areas\n */\n var sortContents = function (contents) {\n if (contents) {\n contents.sort(function (item1, item2) {\n var offset1 = getOffsetTop(item1.content);\n var offset2 = getOffsetTop(item2.content);\n if (offset1 < offset2) return -1;\n return 1;\n });\n }\n };\n\n /**\n * Get the offset to use for calculating position\n * @param {Object} settings The settings for this instantiation\n * @return {Float} The number of pixels to offset the calculations\n */\n var getOffset = function (settings) {\n // if the offset is a function run it\n if (typeof settings.offset === \"function\") {\n return parseFloat(settings.offset());\n }\n\n // Otherwise, return it as-is\n return parseFloat(settings.offset);\n };\n\n /**\n * Get the document element's height\n * @private\n * @returns {Number}\n */\n var getDocumentHeight = function () {\n return Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.offsetHeight,\n document.body.clientHeight,\n document.documentElement.clientHeight,\n );\n };\n\n /**\n * Determine if an element is in view\n * @param {Node} elem The element\n * @param {Object} settings The settings for this instantiation\n * @param {Boolean} bottom If true, check if element is above bottom of viewport instead\n * @return {Boolean} Returns true if element is in the viewport\n */\n var isInView = function (elem, settings, bottom) {\n var bounds = elem.getBoundingClientRect();\n var offset = getOffset(settings);\n if (bottom) {\n return (\n parseInt(bounds.bottom, 10) <\n (window.innerHeight || document.documentElement.clientHeight)\n );\n }\n return parseInt(bounds.top, 10) <= offset;\n };\n\n /**\n * Check if at the bottom of the viewport\n * @return {Boolean} If true, page is at the bottom of the viewport\n */\n var isAtBottom = function () {\n if (\n Math.ceil(window.innerHeight + window.pageYOffset) >=\n getDocumentHeight()\n )\n return true;\n return false;\n };\n\n /**\n * Check if the last item should be used (even if not at the top of the page)\n * @param {Object} item The last item\n * @param {Object} settings The settings for this instantiation\n * @return {Boolean} If true, use the last item\n */\n var useLastItem = function (item, settings) {\n if (isAtBottom() && isInView(item.content, settings, true)) return true;\n return false;\n };\n\n /**\n * Get the active content\n * @param {Array} contents The content areas\n * @param {Object} settings The settings for this instantiation\n * @return {Object} The content area and matching navigation link\n */\n var getActive = function (contents, settings) {\n var last = contents[contents.length - 1];\n if (useLastItem(last, settings)) return last;\n for (var i = contents.length - 1; i >= 0; i--) {\n if (isInView(contents[i].content, settings)) return contents[i];\n }\n };\n\n /**\n * Deactivate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var deactivateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested || !nav.parentNode) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Remove the active class\n li.classList.remove(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n deactivateNested(li, settings);\n };\n\n /**\n * Deactivate a nav and content area\n * @param {Object} items The nav item and content to deactivate\n * @param {Object} settings The settings for this instantiation\n */\n var deactivate = function (items, settings) {\n // Make sure there are items to deactivate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Remove the active class from the nav and content\n li.classList.remove(settings.navClass);\n items.content.classList.remove(settings.contentClass);\n\n // Deactivate any parent navs in a nested navigation\n deactivateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeDeactivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Activate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var activateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Add the active class\n li.classList.add(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n activateNested(li, settings);\n };\n\n /**\n * Activate a nav and content area\n * @param {Object} items The nav item and content to activate\n * @param {Object} settings The settings for this instantiation\n */\n var activate = function (items, settings) {\n // Make sure there are items to activate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Add the active class to the nav and content\n li.classList.add(settings.navClass);\n items.content.classList.add(settings.contentClass);\n\n // Activate any parent navs in a nested navigation\n activateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeActivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Create the Constructor object\n * @param {String} selector The selector to use for navigation items\n * @param {Object} options User options and settings\n */\n var Constructor = function (selector, options) {\n //\n // Variables\n //\n\n var publicAPIs = {};\n var navItems, contents, current, timeout, settings;\n\n //\n // Methods\n //\n\n /**\n * Set variables from DOM elements\n */\n publicAPIs.setup = function () {\n // Get all nav items\n navItems = document.querySelectorAll(selector);\n\n // Create contents array\n contents = [];\n\n // Loop through each item, get it's matching content, and push to the array\n Array.prototype.forEach.call(navItems, function (item) {\n // Get the content for the nav item\n var content = document.getElementById(\n decodeURIComponent(item.hash.substr(1)),\n );\n if (!content) return;\n\n // Push to the contents array\n contents.push({\n nav: item,\n content: content,\n });\n });\n\n // Sort contents by the order they appear in the DOM\n sortContents(contents);\n };\n\n /**\n * Detect which content is currently active\n */\n publicAPIs.detect = function () {\n // Get the active content\n var active = getActive(contents, settings);\n\n // if there's no active content, deactivate and bail\n if (!active) {\n if (current) {\n deactivate(current, settings);\n current = null;\n }\n return;\n }\n\n // If the active content is the one currently active, do nothing\n if (current && active.content === current.content) return;\n\n // Deactivate the current content and activate the new content\n deactivate(current, settings);\n activate(active, settings);\n\n // Update the currently active content\n current = active;\n };\n\n /**\n * Detect the active content on scroll\n * Debounced for performance\n */\n var scrollHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(publicAPIs.detect);\n };\n\n /**\n * Update content sorting on resize\n * Debounced for performance\n */\n var resizeHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(function () {\n sortContents(contents);\n publicAPIs.detect();\n });\n };\n\n /**\n * Destroy the current instantiation\n */\n publicAPIs.destroy = function () {\n // Undo DOM changes\n if (current) {\n deactivate(current, settings);\n }\n\n // Remove event listeners\n window.removeEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.removeEventListener(\"resize\", resizeHandler, false);\n }\n\n // Reset variables\n contents = null;\n navItems = null;\n current = null;\n timeout = null;\n settings = null;\n };\n\n /**\n * Initialize the current instantiation\n */\n var init = function () {\n // Merge user options into defaults\n settings = extend(defaults, options || {});\n\n // Setup variables based on the current DOM\n publicAPIs.setup();\n\n // Find the currently active content\n publicAPIs.detect();\n\n // Setup event listeners\n window.addEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.addEventListener(\"resize\", resizeHandler, false);\n }\n };\n\n //\n // Initialize and return the public APIs\n //\n\n init();\n return publicAPIs;\n };\n\n //\n // Return the Constructor\n //\n\n return Constructor;\n },\n);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import Gumshoe from \"./gumshoe-patched.js\";\n\n////////////////////////////////////////////////////////////////////////////////\n// Scroll Handling\n////////////////////////////////////////////////////////////////////////////////\nvar tocScroll = null;\nvar header = null;\nvar lastScrollTop = window.pageYOffset || document.documentElement.scrollTop;\nconst GO_TO_TOP_OFFSET = 64;\n\nfunction scrollHandlerForHeader() {\n if (Math.floor(header.getBoundingClientRect().top) == 0) {\n header.classList.add(\"scrolled\");\n } else {\n header.classList.remove(\"scrolled\");\n }\n}\n\nfunction scrollHandlerForBackToTop(positionY) {\n if (positionY < GO_TO_TOP_OFFSET) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n } else {\n if (positionY < lastScrollTop) {\n document.documentElement.classList.add(\"show-back-to-top\");\n } else if (positionY > lastScrollTop) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n }\n }\n lastScrollTop = positionY;\n}\n\nfunction scrollHandlerForTOC(positionY) {\n if (tocScroll === null) {\n return;\n }\n\n // top of page.\n if (positionY == 0) {\n tocScroll.scrollTo(0, 0);\n } else if (\n // bottom of page.\n Math.ceil(positionY) >=\n Math.floor(document.documentElement.scrollHeight - window.innerHeight)\n ) {\n tocScroll.scrollTo(0, tocScroll.scrollHeight);\n } else {\n // somewhere in the middle.\n const current = document.querySelector(\".scroll-current\");\n if (current == null) {\n return;\n }\n\n // https://github.com/pypa/pip/issues/9159 This breaks scroll behaviours.\n // // scroll the currently \"active\" heading in toc, into view.\n // const rect = current.getBoundingClientRect();\n // if (0 > rect.top) {\n // current.scrollIntoView(true); // the argument is \"alignTop\"\n // } else if (rect.bottom > window.innerHeight) {\n // current.scrollIntoView(false);\n // }\n }\n}\n\nfunction scrollHandler(positionY) {\n scrollHandlerForHeader();\n scrollHandlerForBackToTop(positionY);\n scrollHandlerForTOC(positionY);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Theme Toggle\n////////////////////////////////////////////////////////////////////////////////\nfunction setTheme(mode) {\n if (mode !== \"light\" && mode !== \"dark\" && mode !== \"auto\") {\n console.error(`Got invalid theme mode: ${mode}. Resetting to auto.`);\n mode = \"auto\";\n }\n\n document.body.dataset.theme = mode;\n localStorage.setItem(\"theme\", mode);\n console.log(`Changed to ${mode} mode.`);\n}\n\nfunction cycleThemeOnce() {\n const currentTheme = localStorage.getItem(\"theme\") || \"auto\";\n const prefersDark = window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n\n if (prefersDark) {\n // Auto (dark) -> Light -> Dark\n if (currentTheme === \"auto\") {\n setTheme(\"light\");\n } else if (currentTheme == \"light\") {\n setTheme(\"dark\");\n } else {\n setTheme(\"auto\");\n }\n } else {\n // Auto (light) -> Dark -> Light\n if (currentTheme === \"auto\") {\n setTheme(\"dark\");\n } else if (currentTheme == \"dark\") {\n setTheme(\"light\");\n } else {\n setTheme(\"auto\");\n }\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Setup\n////////////////////////////////////////////////////////////////////////////////\nfunction setupScrollHandler() {\n // Taken from https://developer.mozilla.org/en-US/docs/Web/API/Document/scroll_event\n let last_known_scroll_position = 0;\n let ticking = false;\n\n window.addEventListener(\"scroll\", function (e) {\n last_known_scroll_position = window.scrollY;\n\n if (!ticking) {\n window.requestAnimationFrame(function () {\n scrollHandler(last_known_scroll_position);\n ticking = false;\n });\n\n ticking = true;\n }\n });\n window.scroll();\n}\n\nfunction setupScrollSpy() {\n if (tocScroll === null) {\n return;\n }\n\n // Scrollspy -- highlight table on contents, based on scroll\n new Gumshoe(\".toc-tree a\", {\n reflow: true,\n recursive: true,\n navClass: \"scroll-current\",\n offset: () => {\n let rem = parseFloat(getComputedStyle(document.documentElement).fontSize);\n return header.getBoundingClientRect().height + 0.5 * rem + 1;\n },\n });\n}\n\nfunction setupTheme() {\n // Attach event handlers for toggling themes\n const buttons = document.getElementsByClassName(\"theme-toggle\");\n Array.from(buttons).forEach((btn) => {\n btn.addEventListener(\"click\", cycleThemeOnce);\n });\n}\n\nfunction setup() {\n setupTheme();\n setupScrollHandler();\n setupScrollSpy();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Main entrypoint\n////////////////////////////////////////////////////////////////////////////////\nfunction main() {\n document.body.parentNode.classList.remove(\"no-js\");\n\n header = document.querySelector(\"header\");\n tocScroll = document.querySelector(\".toc-scroll\");\n\n setup();\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", main);\n"],"names":["root","g","window","this","defaults","navClass","contentClass","nested","nestedClass","offset","reflow","events","emitEvent","type","elem","detail","settings","event","CustomEvent","bubbles","cancelable","dispatchEvent","getOffsetTop","location","offsetParent","offsetTop","sortContents","contents","sort","item1","item2","content","isInView","bottom","bounds","getBoundingClientRect","parseFloat","getOffset","parseInt","innerHeight","document","documentElement","clientHeight","top","isAtBottom","Math","ceil","pageYOffset","max","body","scrollHeight","offsetHeight","getActive","last","length","item","useLastItem","i","deactivateNested","nav","parentNode","li","closest","classList","remove","deactivate","items","link","activateNested","add","selector","options","navItems","current","timeout","publicAPIs","querySelectorAll","Array","prototype","forEach","call","getElementById","decodeURIComponent","hash","substr","push","active","activate","scrollHandler","cancelAnimationFrame","requestAnimationFrame","detect","resizeHandler","destroy","removeEventListener","merged","arguments","obj","key","hasOwnProperty","extend","setup","addEventListener","factory","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","n","getter","__esModule","d","a","definition","o","Object","defineProperty","enumerable","get","globalThis","Function","e","prop","tocScroll","header","lastScrollTop","scrollTop","GO_TO_TOP_OFFSET","cycleThemeOnce","currentTheme","localStorage","getItem","mode","matchMedia","matches","console","error","dataset","theme","setItem","log","buttons","getElementsByClassName","from","btn","setupTheme","last_known_scroll_position","ticking","scrollY","positionY","floor","scrollHandlerForBackToTop","scrollTo","querySelector","scrollHandlerForTOC","scroll","setupScrollHandler","recursive","rem","getComputedStyle","fontSize","height"],"sourceRoot":""} \ No newline at end of file
diff --git a/v11.0.1/_static/searchtools.js b/v11.0.1/_static/searchtools.js
new file mode 100644
index 00000000..7918c3fa
--- /dev/null
+++ b/v11.0.1/_static/searchtools.js
@@ -0,0 +1,574 @@
+/*
+ * searchtools.js
+ * ~~~~~~~~~~~~~~~~
+ *
+ * Sphinx JavaScript utilities for the full-text search.
+ *
+ * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+"use strict";
+
+/**
+ * Simple result scoring code.
+ */
+if (typeof Scorer === "undefined") {
+ var Scorer = {
+ // Implement the following function to further tweak the score for each result
+ // The function takes a result array [docname, title, anchor, descr, score, filename]
+ // and returns the new score.
+ /*
+ score: result => {
+ const [docname, title, anchor, descr, score, filename] = result
+ return score
+ },
+ */
+
+ // query matches the full name of an object
+ objNameMatch: 11,
+ // or matches in the last dotted part of the object name
+ objPartialMatch: 6,
+ // Additive scores depending on the priority of the object
+ objPrio: {
+ 0: 15, // used to be importantResults
+ 1: 5, // used to be objectResults
+ 2: -5, // used to be unimportantResults
+ },
+ // Used when the priority is not in the mapping.
+ objPrioDefault: 0,
+
+ // query found in title
+ title: 15,
+ partialTitle: 7,
+ // query found in terms
+ term: 5,
+ partialTerm: 2,
+ };
+}
+
+const _removeChildren = (element) => {
+ while (element && element.lastChild) element.removeChild(element.lastChild);
+};
+
+/**
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
+ */
+const _escapeRegExp = (string) =>
+ string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
+
+const _displayItem = (item, searchTerms, highlightTerms) => {
+ const docBuilder = DOCUMENTATION_OPTIONS.BUILDER;
+ const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX;
+ const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX;
+ const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY;
+ const contentRoot = document.documentElement.dataset.content_root;
+
+ const [docName, title, anchor, descr, score, _filename] = item;
+
+ let listItem = document.createElement("li");
+ let requestUrl;
+ let linkUrl;
+ if (docBuilder === "dirhtml") {
+ // dirhtml builder
+ let dirname = docName + "/";
+ if (dirname.match(/\/index\/$/))
+ dirname = dirname.substring(0, dirname.length - 6);
+ else if (dirname === "index/") dirname = "";
+ requestUrl = contentRoot + dirname;
+ linkUrl = requestUrl;
+ } else {
+ // normal html builders
+ requestUrl = contentRoot + docName + docFileSuffix;
+ linkUrl = docName + docLinkSuffix;
+ }
+ let linkEl = listItem.appendChild(document.createElement("a"));
+ linkEl.href = linkUrl + anchor;
+ linkEl.dataset.score = score;
+ linkEl.innerHTML = title;
+ if (descr) {
+ listItem.appendChild(document.createElement("span")).innerHTML =
+ " (" + descr + ")";
+ // highlight search terms in the description
+ if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js
+ highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
+ }
+ else if (showSearchSummary)
+ fetch(requestUrl)
+ .then((responseData) => responseData.text())
+ .then((data) => {
+ if (data)
+ listItem.appendChild(
+ Search.makeSearchSummary(data, searchTerms)
+ );
+ // highlight search terms in the summary
+ if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js
+ highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
+ });
+ Search.output.appendChild(listItem);
+};
+const _finishSearch = (resultCount) => {
+ Search.stopPulse();
+ Search.title.innerText = _("Search Results");
+ if (!resultCount)
+ Search.status.innerText = Documentation.gettext(
+ "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories."
+ );
+ else
+ Search.status.innerText = _(
+ `Search finished, found ${resultCount} page(s) matching the search query.`
+ );
+};
+const _displayNextItem = (
+ results,
+ resultCount,
+ searchTerms,
+ highlightTerms,
+) => {
+ // results left, load the summary and display it
+ // this is intended to be dynamic (don't sub resultsCount)
+ if (results.length) {
+ _displayItem(results.pop(), searchTerms, highlightTerms);
+ setTimeout(
+ () => _displayNextItem(results, resultCount, searchTerms, highlightTerms),
+ 5
+ );
+ }
+ // search finished, update title and status message
+ else _finishSearch(resultCount);
+};
+
+/**
+ * Default splitQuery function. Can be overridden in ``sphinx.search`` with a
+ * custom function per language.
+ *
+ * The regular expression works by splitting the string on consecutive characters
+ * that are not Unicode letters, numbers, underscores, or emoji characters.
+ * This is the same as ``\W+`` in Python, preserving the surrogate pair area.
+ */
+if (typeof splitQuery === "undefined") {
+ var splitQuery = (query) => query
+ .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu)
+ .filter(term => term) // remove remaining empty strings
+}
+
+/**
+ * Search Module
+ */
+const Search = {
+ _index: null,
+ _queued_query: null,
+ _pulse_status: -1,
+
+ htmlToText: (htmlString) => {
+ const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html');
+ htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() });
+ const docContent = htmlElement.querySelector('[role="main"]');
+ if (docContent !== undefined) 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."
+ );
+ return "";
+ },
+
+ init: () => {
+ const query = new URLSearchParams(window.location.search).get("q");
+ document
+ .querySelectorAll('input[name="q"]')
+ .forEach((el) => (el.value = query));
+ if (query) Search.performSearch(query);
+ },
+
+ loadIndex: (url) =>
+ (document.body.appendChild(document.createElement("script")).src = url),
+
+ setIndex: (index) => {
+ Search._index = index;
+ if (Search._queued_query !== null) {
+ const query = Search._queued_query;
+ Search._queued_query = null;
+ Search.query(query);
+ }
+ },
+
+ hasIndex: () => Search._index !== null,
+
+ deferQuery: (query) => (Search._queued_query = query),
+
+ stopPulse: () => (Search._pulse_status = -1),
+
+ startPulse: () => {
+ if (Search._pulse_status >= 0) return;
+
+ const pulse = () => {
+ Search._pulse_status = (Search._pulse_status + 1) % 4;
+ Search.dots.innerText = ".".repeat(Search._pulse_status);
+ if (Search._pulse_status >= 0) window.setTimeout(pulse, 500);
+ };
+ pulse();
+ },
+
+ /**
+ * perform a search for something (or wait until index is loaded)
+ */
+ performSearch: (query) => {
+ // create the required interface elements
+ const searchText = document.createElement("h2");
+ searchText.textContent = _("Searching");
+ const searchSummary = document.createElement("p");
+ searchSummary.classList.add("search-summary");
+ searchSummary.innerText = "";
+ const searchList = document.createElement("ul");
+ searchList.classList.add("search");
+
+ const out = document.getElementById("search-results");
+ Search.title = out.appendChild(searchText);
+ Search.dots = Search.title.appendChild(document.createElement("span"));
+ Search.status = out.appendChild(searchSummary);
+ Search.output = out.appendChild(searchList);
+
+ const searchProgress = document.getElementById("search-progress");
+ // Some themes don't use the search progress node
+ if (searchProgress) {
+ searchProgress.innerText = _("Preparing search...");
+ }
+ Search.startPulse();
+
+ // index already loaded, the browser was quick!
+ if (Search.hasIndex()) Search.query(query);
+ 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;
+
+ // stem the search terms and add them to the correct list
+ const stemmer = new Stemmer();
+ const searchTerms = new Set();
+ const excludedTerms = new Set();
+ const highlightTerms = new Set();
+ const objectTerms = new Set(splitQuery(query.toLowerCase().trim()));
+ splitQuery(query.trim()).forEach((queryTerm) => {
+ const queryTermLower = queryTerm.toLowerCase();
+
+ // maybe skip this "word"
+ // stopwords array is from language_data.js
+ if (
+ stopwords.indexOf(queryTermLower) !== -1 ||
+ queryTerm.match(/^\d+$/)
+ )
+ return;
+
+ // stem the word
+ let word = stemmer.stemWord(queryTermLower);
+ // select the correct list
+ if (word[0] === "-") excludedTerms.add(word.substr(1));
+ else {
+ searchTerms.add(word);
+ highlightTerms.add(queryTermLower);
+ }
+ });
+
+ if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js
+ localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" "))
+ }
+
+ // console.debug("SEARCH: searching for:");
+ // console.info("required: ", [...searchTerms]);
+ // console.info("excluded: ", [...excludedTerms]);
+
+ // array of [docname, title, anchor, descr, score, filename]
+ let results = [];
+ _removeChildren(document.getElementById("search-progress"));
+
+ const queryLower = query.toLowerCase();
+ for (const [title, foundTitles] of Object.entries(allTitles)) {
+ if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) {
+ for (const [file, id] of foundTitles) {
+ let score = Math.round(100 * queryLower.length / title.length)
+ results.push([
+ docNames[file],
+ titles[file] !== title ? `${titles[file]} > ${title}` : title,
+ id !== null ? "#" + id : "",
+ null,
+ score,
+ filenames[file],
+ ]);
+ }
+ }
+ }
+
+ // 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([
+ docNames[file],
+ titles[file],
+ id ? "#" + id : "",
+ null,
+ score,
+ filenames[file],
+ ]);
+ }
+ }
+ }
+
+ // lookup as object
+ objectTerms.forEach((term) =>
+ results.push(...Search.performObjectSearch(term, objectTerms))
+ );
+
+ // lookup as search terms in fulltext
+ results.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;
+ });
+
+ // remove duplicate search results
+ // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept
+ let seen = new Set();
+ results = results.reverse().reduce((acc, result) => {
+ let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(',');
+ if (!seen.has(resultStr)) {
+ acc.push(result);
+ seen.add(resultStr);
+ }
+ return acc;
+ }, []);
+
+ results = results.reverse();
+
+ // for debugging
+ //Search.lastresults = results.slice(); // a copy
+ // console.info("search results:", Search.lastresults);
+
+ // print the results
+ _displayNextItem(results, results.length, searchTerms, highlightTerms);
+ },
+
+ /**
+ * search for object names
+ */
+ performObjectSearch: (object, objectTerms) => {
+ const filenames = Search._index.filenames;
+ const docNames = Search._index.docnames;
+ const objects = Search._index.objects;
+ const objNames = Search._index.objnames;
+ const titles = Search._index.titles;
+
+ const results = [];
+
+ const objectSearchCallback = (prefix, match) => {
+ const name = match[4]
+ const fullname = (prefix ? prefix + "." : "") + name;
+ const fullnameLower = fullname.toLowerCase();
+ if (fullnameLower.indexOf(object) < 0) return;
+
+ let score = 0;
+ const parts = fullnameLower.split(".");
+
+ // check for different match types: exact matches of full name or
+ // "last name" (i.e. last dotted part)
+ if (fullnameLower === object || parts.slice(-1)[0] === object)
+ score += Scorer.objNameMatch;
+ else if (parts.slice(-1)[0].indexOf(object) > -1)
+ score += Scorer.objPartialMatch; // matches in last name
+
+ const objName = objNames[match[1]][2];
+ const title = titles[match[0]];
+
+ // If more than one term searched for, we require other words to be
+ // found in the name/title/description
+ const otherTerms = new Set(objectTerms);
+ otherTerms.delete(object);
+ if (otherTerms.size > 0) {
+ const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase();
+ if (
+ [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0)
+ )
+ return;
+ }
+
+ let anchor = match[3];
+ if (anchor === "") anchor = fullname;
+ else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname;
+
+ const descr = objName + _(", in ") + title;
+
+ // add custom score for some objects according to scorer
+ if (Scorer.objPrio.hasOwnProperty(match[2]))
+ score += Scorer.objPrio[match[2]];
+ else score += Scorer.objPrioDefault;
+
+ results.push([
+ docNames[match[0]],
+ fullname,
+ "#" + anchor,
+ descr,
+ score,
+ filenames[match[0]],
+ ]);
+ };
+ Object.keys(objects).forEach((prefix) =>
+ objects[prefix].forEach((array) =>
+ objectSearchCallback(prefix, array)
+ )
+ );
+ return results;
+ },
+
+ /**
+ * search for full-text terms in the index
+ */
+ performTermsSearch: (searchTerms, excludedTerms) => {
+ // prepare search
+ const terms = Search._index.terms;
+ const titleTerms = Search._index.titleterms;
+ const filenames = Search._index.filenames;
+ const docNames = Search._index.docnames;
+ const titles = Search._index.titles;
+
+ const scoreMap = new Map();
+ const fileMap = new Map();
+
+ // perform the search on the required terms
+ searchTerms.forEach((word) => {
+ const files = [];
+ const arr = [
+ { files: terms[word], score: Scorer.term },
+ { files: titleTerms[word], score: Scorer.title },
+ ];
+ // 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 });
+ });
+ }
+
+ // no match but word was a required one
+ if (arr.every((record) => record.files === undefined)) return;
+
+ // found search word in contents
+ arr.forEach((record) => {
+ if (record.files === undefined) return;
+
+ let recordFiles = record.files;
+ if (recordFiles.length === undefined) recordFiles = [recordFiles];
+ files.push(...recordFiles);
+
+ // set score for the word in each file
+ recordFiles.forEach((file) => {
+ if (!scoreMap.has(file)) scoreMap.set(file, {});
+ scoreMap.get(file)[word] = record.score;
+ });
+ });
+
+ // 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]);
+ });
+ });
+
+ // now check if the files don't contain excluded terms
+ const results = [];
+ for (const [file, wordList] of fileMap) {
+ // check if all requirements are matched
+
+ // as search terms with length < 3 are discarded
+ const filteredTermCount = [...searchTerms].filter(
+ (term) => term.length > 2
+ ).length;
+ if (
+ wordList.length !== searchTerms.size &&
+ wordList.length !== filteredTermCount
+ )
+ continue;
+
+ // ensure that none of the excluded terms is in the search result
+ if (
+ [...excludedTerms].some(
+ (term) =>
+ terms[term] === file ||
+ titleTerms[term] === file ||
+ (terms[term] || []).includes(file) ||
+ (titleTerms[term] || []).includes(file)
+ )
+ )
+ break;
+
+ // select one (max) score for the file.
+ const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w]));
+ // add result to the result list
+ results.push([
+ docNames[file],
+ titles[file],
+ "",
+ null,
+ score,
+ filenames[file],
+ ]);
+ }
+ return results;
+ },
+
+ /**
+ * helper function to return a node containing the
+ * search summary for a given text. keywords is a list
+ * of stemmed words.
+ */
+ makeSearchSummary: (htmlText, keywords) => {
+ const text = Search.htmlToText(htmlText);
+ if (text === "") return null;
+
+ const textLower = text.toLowerCase();
+ const actualStartPosition = [...keywords]
+ .map((k) => textLower.indexOf(k.toLowerCase()))
+ .filter((i) => i > -1)
+ .slice(-1)[0];
+ const startWithContext = Math.max(actualStartPosition - 120, 0);
+
+ const top = startWithContext === 0 ? "" : "...";
+ const tail = startWithContext + 240 < text.length ? "..." : "";
+
+ let summary = document.createElement("p");
+ summary.classList.add("context");
+ summary.textContent = top + text.substr(startWithContext, 240).trim() + tail;
+
+ return summary;
+ },
+};
+
+_ready(Search.init);
diff --git a/v11.0.1/_static/skeleton.css b/v11.0.1/_static/skeleton.css
new file mode 100644
index 00000000..467c878c
--- /dev/null
+++ b/v11.0.1/_static/skeleton.css
@@ -0,0 +1,296 @@
+/* Some sane resets. */
+html {
+ height: 100%;
+}
+
+body {
+ margin: 0;
+ min-height: 100%;
+}
+
+/* All the flexbox magic! */
+body,
+.sb-announcement,
+.sb-content,
+.sb-main,
+.sb-container,
+.sb-container__inner,
+.sb-article-container,
+.sb-footer-content,
+.sb-header,
+.sb-header-secondary,
+.sb-footer {
+ display: flex;
+}
+
+/* These order things vertically */
+body,
+.sb-main,
+.sb-article-container {
+ flex-direction: column;
+}
+
+/* Put elements in the center */
+.sb-header,
+.sb-header-secondary,
+.sb-container,
+.sb-content,
+.sb-footer,
+.sb-footer-content {
+ justify-content: center;
+}
+/* Put elements at the ends */
+.sb-article-container {
+ justify-content: space-between;
+}
+
+/* These elements grow. */
+.sb-main,
+.sb-content,
+.sb-container,
+article {
+ flex-grow: 1;
+}
+
+/* Because padding making this wider is not fun */
+article {
+ box-sizing: border-box;
+}
+
+/* The announcements element should never be wider than the page. */
+.sb-announcement {
+ max-width: 100%;
+}
+
+.sb-sidebar-primary,
+.sb-sidebar-secondary {
+ flex-shrink: 0;
+ width: 17rem;
+}
+
+.sb-announcement__inner {
+ justify-content: center;
+
+ box-sizing: border-box;
+ height: 3rem;
+
+ overflow-x: auto;
+ white-space: nowrap;
+}
+
+/* Sidebars, with checkbox-based toggle */
+.sb-sidebar-primary,
+.sb-sidebar-secondary {
+ position: fixed;
+ height: 100%;
+ top: 0;
+}
+
+.sb-sidebar-primary {
+ left: -17rem;
+ transition: left 250ms ease-in-out;
+}
+.sb-sidebar-secondary {
+ right: -17rem;
+ transition: right 250ms ease-in-out;
+}
+
+.sb-sidebar-toggle {
+ display: none;
+}
+.sb-sidebar-overlay {
+ position: fixed;
+ top: 0;
+ width: 0;
+ height: 0;
+
+ transition: width 0ms ease 250ms, height 0ms ease 250ms, opacity 250ms ease;
+
+ opacity: 0;
+ background-color: rgba(0, 0, 0, 0.54);
+}
+
+#sb-sidebar-toggle--primary:checked
+ ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--primary"],
+#sb-sidebar-toggle--secondary:checked
+ ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--secondary"] {
+ width: 100%;
+ height: 100%;
+ opacity: 1;
+ transition: width 0ms ease, height 0ms ease, opacity 250ms ease;
+}
+
+#sb-sidebar-toggle--primary:checked ~ .sb-container .sb-sidebar-primary {
+ left: 0;
+}
+#sb-sidebar-toggle--secondary:checked ~ .sb-container .sb-sidebar-secondary {
+ right: 0;
+}
+
+/* Full-width mode */
+.drop-secondary-sidebar-for-full-width-content
+ .hide-when-secondary-sidebar-shown {
+ display: none !important;
+}
+.drop-secondary-sidebar-for-full-width-content .sb-sidebar-secondary {
+ display: none !important;
+}
+
+/* Mobile views */
+.sb-page-width {
+ width: 100%;
+}
+
+.sb-article-container,
+.sb-footer-content__inner,
+.drop-secondary-sidebar-for-full-width-content .sb-article,
+.drop-secondary-sidebar-for-full-width-content .match-content-width {
+ width: 100vw;
+}
+
+.sb-article,
+.match-content-width {
+ padding: 0 1rem;
+ box-sizing: border-box;
+}
+
+@media (min-width: 32rem) {
+ .sb-article,
+ .match-content-width {
+ padding: 0 2rem;
+ }
+}
+
+/* Tablet views */
+@media (min-width: 42rem) {
+ .sb-article-container {
+ width: auto;
+ }
+ .sb-footer-content__inner,
+ .drop-secondary-sidebar-for-full-width-content .sb-article,
+ .drop-secondary-sidebar-for-full-width-content .match-content-width {
+ width: 42rem;
+ }
+ .sb-article,
+ .match-content-width {
+ width: 42rem;
+ }
+}
+@media (min-width: 46rem) {
+ .sb-footer-content__inner,
+ .drop-secondary-sidebar-for-full-width-content .sb-article,
+ .drop-secondary-sidebar-for-full-width-content .match-content-width {
+ width: 46rem;
+ }
+ .sb-article,
+ .match-content-width {
+ width: 46rem;
+ }
+}
+@media (min-width: 50rem) {
+ .sb-footer-content__inner,
+ .drop-secondary-sidebar-for-full-width-content .sb-article,
+ .drop-secondary-sidebar-for-full-width-content .match-content-width {
+ width: 50rem;
+ }
+ .sb-article,
+ .match-content-width {
+ width: 50rem;
+ }
+}
+
+/* Tablet views */
+@media (min-width: 59rem) {
+ .sb-sidebar-secondary {
+ position: static;
+ }
+ .hide-when-secondary-sidebar-shown {
+ display: none !important;
+ }
+ .sb-footer-content__inner,
+ .drop-secondary-sidebar-for-full-width-content .sb-article,
+ .drop-secondary-sidebar-for-full-width-content .match-content-width {
+ width: 59rem;
+ }
+ .sb-article,
+ .match-content-width {
+ width: 42rem;
+ }
+}
+@media (min-width: 63rem) {
+ .sb-footer-content__inner,
+ .drop-secondary-sidebar-for-full-width-content .sb-article,
+ .drop-secondary-sidebar-for-full-width-content .match-content-width {
+ width: 63rem;
+ }
+ .sb-article,
+ .match-content-width {
+ width: 46rem;
+ }
+}
+@media (min-width: 67rem) {
+ .sb-footer-content__inner,
+ .drop-secondary-sidebar-for-full-width-content .sb-article,
+ .drop-secondary-sidebar-for-full-width-content .match-content-width {
+ width: 67rem;
+ }
+ .sb-article,
+ .match-content-width {
+ width: 50rem;
+ }
+}
+
+/* Desktop views */
+@media (min-width: 76rem) {
+ .sb-sidebar-primary {
+ position: static;
+ }
+ .hide-when-primary-sidebar-shown {
+ display: none !important;
+ }
+ .sb-footer-content__inner,
+ .drop-secondary-sidebar-for-full-width-content .sb-article,
+ .drop-secondary-sidebar-for-full-width-content .match-content-width {
+ width: 59rem;
+ }
+ .sb-article,
+ .match-content-width {
+ width: 42rem;
+ }
+}
+
+/* Full desktop views */
+@media (min-width: 80rem) {
+ .sb-article,
+ .match-content-width {
+ width: 46rem;
+ }
+ .sb-footer-content__inner,
+ .drop-secondary-sidebar-for-full-width-content .sb-article,
+ .drop-secondary-sidebar-for-full-width-content .match-content-width {
+ width: 63rem;
+ }
+}
+
+@media (min-width: 84rem) {
+ .sb-article,
+ .match-content-width {
+ width: 50rem;
+ }
+ .sb-footer-content__inner,
+ .drop-secondary-sidebar-for-full-width-content .sb-article,
+ .drop-secondary-sidebar-for-full-width-content .match-content-width {
+ width: 67rem;
+ }
+}
+
+@media (min-width: 88rem) {
+ .sb-footer-content__inner,
+ .drop-secondary-sidebar-for-full-width-content .sb-article,
+ .drop-secondary-sidebar-for-full-width-content .match-content-width {
+ width: 67rem;
+ }
+ .sb-page-width {
+ width: 88rem;
+ }
+}
diff --git a/v11.0.1/_static/sphinx_highlight.js b/v11.0.1/_static/sphinx_highlight.js
new file mode 100644
index 00000000..8a96c69a
--- /dev/null
+++ b/v11.0.1/_static/sphinx_highlight.js
@@ -0,0 +1,154 @@
+/* Highlighting utilities for Sphinx HTML documentation. */
+"use strict";
+
+const SPHINX_HIGHLIGHT_ENABLED = true
+
+/**
+ * highlight a given string on a node by wrapping it in
+ * span elements with the given class name.
+ */
+const _highlight = (node, addItems, text, className) => {
+ if (node.nodeType === Node.TEXT_NODE) {
+ const val = node.nodeValue;
+ const parent = node.parentNode;
+ const pos = val.toLowerCase().indexOf(text);
+ if (
+ pos >= 0 &&
+ !parent.classList.contains(className) &&
+ !parent.classList.contains("nohighlight")
+ ) {
+ let span;
+
+ const closestNode = parent.closest("body, svg, foreignObject");
+ const isInSVG = closestNode && closestNode.matches("svg");
+ if (isInSVG) {
+ span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+ } else {
+ span = document.createElement("span");
+ span.classList.add(className);
+ }
+
+ span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+ const rest = document.createTextNode(val.substr(pos + text.length));
+ parent.insertBefore(
+ span,
+ parent.insertBefore(
+ rest,
+ node.nextSibling
+ )
+ );
+ node.nodeValue = val.substr(0, pos);
+ /* There may be more occurrences of search term in this node. So call this
+ * function recursively on the remaining fragment.
+ */
+ _highlight(rest, addItems, text, className);
+
+ if (isInSVG) {
+ const rect = document.createElementNS(
+ "http://www.w3.org/2000/svg",
+ "rect"
+ );
+ const bbox = parent.getBBox();
+ rect.x.baseVal.value = bbox.x;
+ rect.y.baseVal.value = bbox.y;
+ rect.width.baseVal.value = bbox.width;
+ rect.height.baseVal.value = bbox.height;
+ rect.setAttribute("class", className);
+ addItems.push({ parent: parent, target: rect });
+ }
+ }
+ } else if (node.matches && !node.matches("button, select, textarea")) {
+ node.childNodes.forEach((el) => _highlight(el, addItems, text, className));
+ }
+};
+const _highlightText = (thisNode, text, className) => {
+ let addItems = [];
+ _highlight(thisNode, addItems, text, className);
+ addItems.forEach((obj) =>
+ obj.parent.insertAdjacentElement("beforebegin", obj.target)
+ );
+};
+
+/**
+ * Small JavaScript module for the documentation.
+ */
+const SphinxHighlight = {
+
+ /**
+ * highlight the search words provided in localstorage in the text
+ */
+ highlightSearchWords: () => {
+ if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight
+
+ // get and clear terms from localstorage
+ const url = new URL(window.location);
+ const highlight =
+ localStorage.getItem("sphinx_highlight_terms")
+ || url.searchParams.get("highlight")
+ || "";
+ localStorage.removeItem("sphinx_highlight_terms")
+ url.searchParams.delete("highlight");
+ window.history.replaceState({}, "", url);
+
+ // get individual terms from highlight string
+ const terms = highlight.toLowerCase().split(/\s+/).filter(x => x);
+ if (terms.length === 0) return; // nothing to do
+
+ // There should never be more than one element matching "div.body"
+ const divBody = document.querySelectorAll("div.body");
+ const body = divBody.length ? divBody[0] : document.querySelector("body");
+ window.setTimeout(() => {
+ terms.forEach((term) => _highlightText(body, term, "highlighted"));
+ }, 10);
+
+ const searchBox = document.getElementById("searchbox");
+ if (searchBox === null) return;
+ searchBox.appendChild(
+ document
+ .createRange()
+ .createContextualFragment(
+ '<p class="highlight-link">' +
+ '<a href="javascript:SphinxHighlight.hideSearchWords()">' +
+ _("Hide Search Matches") +
+ "</a></p>"
+ )
+ );
+ },
+
+ /**
+ * helper function to hide the search marks again
+ */
+ hideSearchWords: () => {
+ document
+ .querySelectorAll("#searchbox .highlight-link")
+ .forEach((el) => el.remove());
+ document
+ .querySelectorAll("span.highlighted")
+ .forEach((el) => el.classList.remove("highlighted"));
+ localStorage.removeItem("sphinx_highlight_terms")
+ },
+
+ initEscapeListener: () => {
+ // only install a listener if it is really needed
+ if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return;
+
+ document.addEventListener("keydown", (event) => {
+ // bail for input elements
+ if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
+ // bail with special keys
+ if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return;
+ if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) {
+ SphinxHighlight.hideSearchWords();
+ event.preventDefault();
+ }
+ });
+ },
+};
+
+_ready(() => {
+ /* Do not call highlightSearchWords() when we are on the search page.
+ * It will highlight words from the *previous* search query.
+ */
+ if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords();
+ SphinxHighlight.initEscapeListener();
+});
diff --git a/v11.0.1/_static/statsd_additional_objects.inv b/v11.0.1/_static/statsd_additional_objects.inv
new file mode 100644
index 00000000..f84ab9f1
--- /dev/null
+++ b/v11.0.1/_static/statsd_additional_objects.inv
Binary files differ
diff --git a/v11.0.1/_static/styles/furo-extensions.css b/v11.0.1/_static/styles/furo-extensions.css
new file mode 100644
index 00000000..bc447f22
--- /dev/null
+++ b/v11.0.1/_static/styles/furo-extensions.css
@@ -0,0 +1,2 @@
+#furo-sidebar-ad-placement{padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)}#furo-sidebar-ad-placement .ethical-sidebar{background:var(--color-background-secondary);border:none;box-shadow:none}#furo-sidebar-ad-placement .ethical-sidebar:hover{background:var(--color-background-hover)}#furo-sidebar-ad-placement .ethical-sidebar a{color:var(--color-foreground-primary)}#furo-sidebar-ad-placement .ethical-callout a{color:var(--color-foreground-secondary)!important}#furo-readthedocs-versions{background:transparent;display:block;position:static;width:100%}#furo-readthedocs-versions .rst-versions{background:#1a1c1e}#furo-readthedocs-versions .rst-current-version{background:var(--color-sidebar-item-background);cursor:unset}#furo-readthedocs-versions .rst-current-version:hover{background:var(--color-sidebar-item-background)}#furo-readthedocs-versions .rst-current-version .fa-book{color:var(--color-foreground-primary)}#furo-readthedocs-versions>.rst-other-versions{padding:0}#furo-readthedocs-versions>.rst-other-versions small{opacity:1}#furo-readthedocs-versions .injected .rst-versions{position:unset}#furo-readthedocs-versions:focus-within,#furo-readthedocs-versions:hover{box-shadow:0 0 0 1px var(--color-sidebar-background-border)}#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:hover .rst-current-version{background:#1a1c1e;font-size:inherit;height:auto;line-height:inherit;padding:12px;text-align:right}#furo-readthedocs-versions:focus-within .rst-current-version .fa-book,#furo-readthedocs-versions:hover .rst-current-version .fa-book{color:#fff;float:left}#furo-readthedocs-versions:focus-within .fa-caret-down,#furo-readthedocs-versions:hover .fa-caret-down{display:none}#furo-readthedocs-versions:focus-within .injected,#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:focus-within .rst-other-versions,#furo-readthedocs-versions:hover .injected,#furo-readthedocs-versions:hover .rst-current-version,#furo-readthedocs-versions:hover .rst-other-versions{display:block}#furo-readthedocs-versions:focus-within>.rst-current-version,#furo-readthedocs-versions:hover>.rst-current-version{display:none}.highlight:hover button.copybtn{color:var(--color-code-foreground)}.highlight button.copybtn{align-items:center;background-color:var(--color-code-background);border:none;color:var(--color-background-item);cursor:pointer;height:1.25em;opacity:1;right:.5rem;top:.625rem;transition:color .3s,opacity .3s;width:1.25em}.highlight button.copybtn:hover{background-color:var(--color-code-background);color:var(--color-brand-content)}.highlight button.copybtn:after{background-color:transparent;color:var(--color-code-foreground);display:none}.highlight button.copybtn.success{color:#22863a;transition:color 0ms}.highlight button.copybtn.success:after{display:block}.highlight button.copybtn svg{padding:0}body{--sd-color-primary:var(--color-brand-primary);--sd-color-primary-highlight:var(--color-brand-content);--sd-color-primary-text:var(--color-background-primary);--sd-color-shadow:rgba(0,0,0,.05);--sd-color-card-border:var(--color-card-border);--sd-color-card-border-hover:var(--color-brand-content);--sd-color-card-background:var(--color-card-background);--sd-color-card-text:var(--color-foreground-primary);--sd-color-card-header:var(--color-card-marginals-background);--sd-color-card-footer:var(--color-card-marginals-background);--sd-color-tabs-label-active:var(--color-brand-content);--sd-color-tabs-label-hover:var(--color-foreground-muted);--sd-color-tabs-label-inactive:var(--color-foreground-muted);--sd-color-tabs-underline-active:var(--color-brand-content);--sd-color-tabs-underline-hover:var(--color-foreground-border);--sd-color-tabs-underline-inactive:var(--color-background-border);--sd-color-tabs-overline:var(--color-background-border);--sd-color-tabs-underline:var(--color-background-border)}.sd-tab-content{box-shadow:0 -2px var(--sd-color-tabs-overline),0 1px var(--sd-color-tabs-underline)}.sd-card{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)}.sd-shadow-sm{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-md{box-shadow:0 .3rem .75rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-lg{box-shadow:0 .6rem 1.5rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-card-hover:hover{transform:none}.sd-cards-carousel{gap:.25rem;padding:.25rem}body{--tabs--label-text:var(--color-foreground-muted);--tabs--label-text--hover:var(--color-foreground-muted);--tabs--label-text--active:var(--color-brand-content);--tabs--label-text--active--hover:var(--color-brand-content);--tabs--label-background:transparent;--tabs--label-background--hover:transparent;--tabs--label-background--active:transparent;--tabs--label-background--active--hover:transparent;--tabs--padding-x:0.25em;--tabs--margin-x:1em;--tabs--border:var(--color-background-border);--tabs--label-border:transparent;--tabs--label-border--hover:var(--color-foreground-muted);--tabs--label-border--active:var(--color-brand-content);--tabs--label-border--active--hover:var(--color-brand-content)}[role=main] .container{max-width:none;padding-left:0;padding-right:0}.shadow.docutils{border:none;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)!important}.sphinx-bs .card{background-color:var(--color-background-secondary);color:var(--color-foreground)}
+/*# sourceMappingURL=furo-extensions.css.map*/ \ No newline at end of file
diff --git a/v11.0.1/_static/styles/furo-extensions.css.map b/v11.0.1/_static/styles/furo-extensions.css.map
new file mode 100644
index 00000000..9ba5637f
--- /dev/null
+++ b/v11.0.1/_static/styles/furo-extensions.css.map
@@ -0,0 +1 @@
+{"version":3,"file":"styles/furo-extensions.css","mappings":"AAGA,2BACE,oFACA,4CAKE,6CAHA,YACA,eAEA,CACA,kDACE,yCAEF,8CACE,sCAEJ,8CACE,kDAEJ,2BAGE,uBACA,cAHA,gBACA,UAEA,CAGA,yCACE,mBAEF,gDAEE,gDADA,YACA,CACA,sDACE,gDACF,yDACE,sCAEJ,+CACE,UACA,qDACE,UAGF,mDACE,eAEJ,yEAEE,4DAEA,mHASE,mBAPA,kBAEA,YADA,oBAGA,aADA,gBAIA,CAEA,qIAEE,WADA,UACA,CAEJ,uGACE,aAEF,iUAGE,cAEF,mHACE,aC1EJ,gCACE,mCAEF,0BAKE,mBAUA,8CACA,YAFA,mCAKA,eAZA,cALA,UASA,YADA,YAYA,iCAdA,YAcA,CAEA,gCAEE,8CADA,gCACA,CAEF,gCAGE,6BADA,mCADA,YAEA,CAEF,kCAEE,cADA,oBACA,CACA,wCACE,cAEJ,8BACE,UC5CN,KAEE,6CAA8C,CAC9C,uDAAwD,CACxD,uDAAwD,CAGxD,iCAAsC,CAGtC,+CAAgD,CAChD,uDAAwD,CACxD,uDAAwD,CACxD,oDAAqD,CACrD,6DAA8D,CAC9D,6DAA8D,CAG9D,uDAAwD,CACxD,yDAA0D,CAC1D,4DAA6D,CAC7D,2DAA4D,CAC5D,8DAA+D,CAC/D,iEAAkE,CAClE,uDAAwD,CACxD,wDAAyD,CAG3D,gBACE,qFAGF,SACE,6EAEF,cACE,uFAEF,cACE,uFAEF,cACE,uFAGF,qBACE,eAEF,mBACE,WACA,eChDF,KACE,gDAAiD,CACjD,uDAAwD,CACxD,qDAAsD,CACtD,4DAA6D,CAC7D,oCAAqC,CACrC,2CAA4C,CAC5C,4CAA6C,CAC7C,mDAAoD,CACpD,wBAAyB,CACzB,oBAAqB,CACrB,6CAA8C,CAC9C,gCAAiC,CACjC,yDAA0D,CAC1D,uDAAwD,CACxD,8DAA+D,CCbjE,uBACE,eACA,eACA,gBAGF,iBACE,YACA,+EAGF,iBACE,mDACA","sources":["webpack:///./src/furo/assets/styles/extensions/_readthedocs.sass","webpack:///./src/furo/assets/styles/extensions/_copybutton.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-design.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-inline-tabs.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-panels.sass"],"sourcesContent":["// This file contains the styles used for tweaking how ReadTheDoc's embedded\n// contents would show up inside the theme.\n\n#furo-sidebar-ad-placement\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n .ethical-sidebar\n // Remove the border and box-shadow.\n border: none\n box-shadow: none\n // Manage the background colors.\n background: var(--color-background-secondary)\n &:hover\n background: var(--color-background-hover)\n // Ensure the text is legible.\n a\n color: var(--color-foreground-primary)\n\n .ethical-callout a\n color: var(--color-foreground-secondary) !important\n\n#furo-readthedocs-versions\n position: static\n width: 100%\n background: transparent\n display: block\n\n // Make the background color fit with the theme's aesthetic.\n .rst-versions\n background: rgb(26, 28, 30)\n\n .rst-current-version\n cursor: unset\n background: var(--color-sidebar-item-background)\n &:hover\n background: var(--color-sidebar-item-background)\n .fa-book\n color: var(--color-foreground-primary)\n\n > .rst-other-versions\n padding: 0\n small\n opacity: 1\n\n .injected\n .rst-versions\n position: unset\n\n &:hover,\n &:focus-within\n box-shadow: 0 0 0 1px var(--color-sidebar-background-border)\n\n .rst-current-version\n // Undo the tweaks done in RTD's CSS\n font-size: inherit\n line-height: inherit\n height: auto\n text-align: right\n padding: 12px\n\n // Match the rest of the body\n background: #1a1c1e\n\n .fa-book\n float: left\n color: white\n\n .fa-caret-down\n display: none\n\n .rst-current-version,\n .rst-other-versions,\n .injected\n display: block\n\n > .rst-current-version\n display: none\n",".highlight\n &:hover button.copybtn\n color: var(--color-code-foreground)\n\n button.copybtn\n // Make it visible\n opacity: 1\n\n // Align things correctly\n align-items: center\n\n height: 1.25em\n width: 1.25em\n\n top: 0.625rem // $code-spacing-vertical\n right: 0.5rem\n\n // Make it look better\n color: var(--color-background-item)\n background-color: var(--color-code-background)\n border: none\n\n // Change to cursor to make it obvious that you can click on it\n cursor: pointer\n\n // Transition smoothly, for aesthetics\n transition: color 300ms, opacity 300ms\n\n &:hover\n color: var(--color-brand-content)\n background-color: var(--color-code-background)\n\n &::after\n display: none\n color: var(--color-code-foreground)\n background-color: transparent\n\n &.success\n transition: color 0ms\n color: #22863a\n &::after\n display: block\n\n svg\n padding: 0\n","body\n // Colors\n --sd-color-primary: var(--color-brand-primary)\n --sd-color-primary-highlight: var(--color-brand-content)\n --sd-color-primary-text: var(--color-background-primary)\n\n // Shadows\n --sd-color-shadow: rgba(0, 0, 0, 0.05)\n\n // Cards\n --sd-color-card-border: var(--color-card-border)\n --sd-color-card-border-hover: var(--color-brand-content)\n --sd-color-card-background: var(--color-card-background)\n --sd-color-card-text: var(--color-foreground-primary)\n --sd-color-card-header: var(--color-card-marginals-background)\n --sd-color-card-footer: var(--color-card-marginals-background)\n\n // Tabs\n --sd-color-tabs-label-active: var(--color-brand-content)\n --sd-color-tabs-label-hover: var(--color-foreground-muted)\n --sd-color-tabs-label-inactive: var(--color-foreground-muted)\n --sd-color-tabs-underline-active: var(--color-brand-content)\n --sd-color-tabs-underline-hover: var(--color-foreground-border)\n --sd-color-tabs-underline-inactive: var(--color-background-border)\n --sd-color-tabs-overline: var(--color-background-border)\n --sd-color-tabs-underline: var(--color-background-border)\n\n// Tabs\n.sd-tab-content\n box-shadow: 0 -2px var(--sd-color-tabs-overline), 0 1px var(--sd-color-tabs-underline)\n\n// Shadows\n.sd-card // Have a shadow by default\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n.sd-shadow-sm\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-md\n box-shadow: 0 0.3rem 0.75rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-lg\n box-shadow: 0 0.6rem 1.5rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Cards\n.sd-card-hover:hover // Don't change scale on hover\n transform: none\n\n.sd-cards-carousel // Have a bit of gap in the carousel by default\n gap: 0.25rem\n padding: 0.25rem\n","// This file contains styles to tweak sphinx-inline-tabs to work well with Furo.\n\nbody\n --tabs--label-text: var(--color-foreground-muted)\n --tabs--label-text--hover: var(--color-foreground-muted)\n --tabs--label-text--active: var(--color-brand-content)\n --tabs--label-text--active--hover: var(--color-brand-content)\n --tabs--label-background: transparent\n --tabs--label-background--hover: transparent\n --tabs--label-background--active: transparent\n --tabs--label-background--active--hover: transparent\n --tabs--padding-x: 0.25em\n --tabs--margin-x: 1em\n --tabs--border: var(--color-background-border)\n --tabs--label-border: transparent\n --tabs--label-border--hover: var(--color-foreground-muted)\n --tabs--label-border--active: var(--color-brand-content)\n --tabs--label-border--active--hover: var(--color-brand-content)\n","// This file contains styles to tweak sphinx-panels to work well with Furo.\n\n// sphinx-panels includes Bootstrap 4, which uses .container which can conflict\n// with docutils' `.. container::` directive.\n[role=\"main\"] .container\n max-width: initial\n padding-left: initial\n padding-right: initial\n\n// Make the panels look nicer!\n.shadow.docutils\n border: none\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Make panel colors respond to dark mode\n.sphinx-bs .card\n background-color: var(--color-background-secondary)\n color: var(--color-foreground)\n"],"names":[],"sourceRoot":""} \ No newline at end of file
diff --git a/v11.0.1/_static/styles/furo.css b/v11.0.1/_static/styles/furo.css
new file mode 100644
index 00000000..3d29a218
--- /dev/null
+++ b/v11.0.1/_static/styles/furo.css
@@ -0,0 +1,2 @@
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@media print{.content-icon-container,.headerlink,.mobile-header,.related-pages{display:none!important}.highlight{border:.1pt solid var(--color-foreground-border)}a,blockquote,dl,ol,pre,table,ul{page-break-inside:avoid}caption,figure,h1,h2,h3,h4,h5,h6,img{page-break-after:avoid;page-break-inside:avoid}dl,ol,ul{page-break-before:avoid}}.visually-hidden{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}:-moz-focusring{outline:auto}body{--font-stack:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;--font-stack--monospace:"SFMono-Regular",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-size--normal:100%;--font-size--small:87.5%;--font-size--small--2:81.25%;--font-size--small--3:75%;--font-size--small--4:62.5%;--sidebar-caption-font-size:var(--font-size--small--2);--sidebar-item-font-size:var(--font-size--small);--sidebar-search-input-font-size:var(--font-size--small);--toc-font-size:var(--font-size--small--3);--toc-font-size--mobile:var(--font-size--normal);--toc-title-font-size:var(--font-size--small--4);--admonition-font-size:0.8125rem;--admonition-title-font-size:0.8125rem;--code-font-size:var(--font-size--small--2);--api-font-size:var(--font-size--small);--header-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*4);--header-padding:0.5rem;--sidebar-tree-space-above:1.5rem;--sidebar-caption-space-above:1rem;--sidebar-item-line-height:1rem;--sidebar-item-spacing-vertical:0.5rem;--sidebar-item-spacing-horizontal:1rem;--sidebar-item-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*2);--sidebar-expander-width:var(--sidebar-item-height);--sidebar-search-space-above:0.5rem;--sidebar-search-input-spacing-vertical:0.5rem;--sidebar-search-input-spacing-horizontal:0.5rem;--sidebar-search-input-height:1rem;--sidebar-search-icon-size:var(--sidebar-search-input-height);--toc-title-padding:0.25rem 0;--toc-spacing-vertical:1.5rem;--toc-spacing-horizontal:1.5rem;--toc-item-spacing-vertical:0.4rem;--toc-item-spacing-horizontal:1rem;--icon-search:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><circle cx="10" cy="10" r="7"/><path d="m21 21-6-6"/></svg>');--icon-pencil:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>');--icon-abstract:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 5h16v2H4V5m0 4h16v2H4V9m0 4h16v2H4v-2m0 4h10v2H4v-2z"/></svg>');--icon-info:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2z"/></svg>');--icon-flame:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.55 11.2c-.23-.3-.5-.56-.76-.82-.65-.6-1.4-1.03-2.03-1.66C13.3 7.26 13 4.85 13.91 3c-.91.23-1.75.75-2.45 1.32-2.54 2.08-3.54 5.75-2.34 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.22.1-.46.04-.64-.12a.83.83 0 0 1-.15-.17c-1.1-1.43-1.28-3.48-.53-5.12C5.89 10 5 12.3 5.14 14.47c.04.5.1 1 .27 1.5.14.6.4 1.2.72 1.73 1.04 1.73 2.87 2.97 4.84 3.22 2.1.27 4.35-.12 5.96-1.6 1.8-1.66 2.45-4.32 1.5-6.6l-.13-.26c-.2-.46-.47-.87-.8-1.25l.05-.01m-3.1 6.3c-.28.24-.73.5-1.08.6-1.1.4-2.2-.16-2.87-.82 1.19-.28 1.89-1.16 2.09-2.05.17-.8-.14-1.46-.27-2.23-.12-.74-.1-1.37.18-2.06.17.38.37.76.6 1.06.76 1 1.95 1.44 2.2 2.8.04.14.06.28.06.43.03.82-.32 1.72-.92 2.27h.01z"/></svg>');--icon-question:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m15.07 11.25-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 0 0-2-2 2 2 0 0 0-2 2H8a4 4 0 0 1 4-4 4 4 0 0 1 4 4 3.2 3.2 0 0 1-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10c0-5.53-4.5-10-10-10z"/></svg>');--icon-warning:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2 1 21z"/></svg>');--icon-failure:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12 6.47 2 12 2m3.59 5L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41 15.59 7z"/></svg>');--icon-spark:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m11.5 20 4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2z"/></svg>');--color-admonition-title--caution:#ff9100;--color-admonition-title-background--caution:rgba(255,145,0,.2);--color-admonition-title--warning:#ff9100;--color-admonition-title-background--warning:rgba(255,145,0,.2);--color-admonition-title--danger:#ff5252;--color-admonition-title-background--danger:rgba(255,82,82,.2);--color-admonition-title--attention:#ff5252;--color-admonition-title-background--attention:rgba(255,82,82,.2);--color-admonition-title--error:#ff5252;--color-admonition-title-background--error:rgba(255,82,82,.2);--color-admonition-title--hint:#00c852;--color-admonition-title-background--hint:rgba(0,200,82,.2);--color-admonition-title--tip:#00c852;--color-admonition-title-background--tip:rgba(0,200,82,.2);--color-admonition-title--important:#00bfa5;--color-admonition-title-background--important:rgba(0,191,165,.2);--color-admonition-title--note:#00b0ff;--color-admonition-title-background--note:rgba(0,176,255,.2);--color-admonition-title--seealso:#448aff;--color-admonition-title-background--seealso:rgba(68,138,255,.2);--color-admonition-title--admonition-todo:grey;--color-admonition-title-background--admonition-todo:hsla(0,0%,50%,.2);--color-admonition-title:#651fff;--color-admonition-title-background:rgba(101,31,255,.2);--icon-admonition-default:var(--icon-abstract);--color-topic-title:#14b8a6;--color-topic-title-background:rgba(20,184,166,.2);--icon-topic-default:var(--icon-pencil);--color-problematic:#b30000;--color-foreground-primary:#000;--color-foreground-secondary:#5a5c63;--color-foreground-muted:#646776;--color-foreground-border:#878787;--color-background-primary:#fff;--color-background-secondary:#f8f9fb;--color-background-hover:#efeff4;--color-background-hover--transparent:#efeff400;--color-background-border:#eeebee;--color-background-item:#ccc;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2962ff;--color-brand-content:#2a5adf;--color-api-background:var(--color-background-hover--transparent);--color-api-background-hover:var(--color-background-hover);--color-api-overall:var(--color-foreground-secondary);--color-api-name:var(--color-problematic);--color-api-pre-name:var(--color-problematic);--color-api-paren:var(--color-foreground-secondary);--color-api-keyword:var(--color-foreground-primary);--color-highlight-on-target:#ffc;--color-inline-code-background:var(--color-background-secondary);--color-highlighted-background:#def;--color-highlighted-text:var(--color-foreground-primary);--color-guilabel-background:#ddeeff80;--color-guilabel-border:#bedaf580;--color-guilabel-text:var(--color-foreground-primary);--color-admonition-background:transparent;--color-table-header-background:var(--color-background-secondary);--color-table-border:var(--color-background-border);--color-card-border:var(--color-background-secondary);--color-card-background:transparent;--color-card-marginals-background:var(--color-background-secondary);--color-header-background:var(--color-background-primary);--color-header-border:var(--color-background-border);--color-header-text:var(--color-foreground-primary);--color-sidebar-background:var(--color-background-secondary);--color-sidebar-background-border:var(--color-background-border);--color-sidebar-brand-text:var(--color-foreground-primary);--color-sidebar-caption-text:var(--color-foreground-muted);--color-sidebar-link-text:var(--color-foreground-secondary);--color-sidebar-link-text--top-level:var(--color-brand-primary);--color-sidebar-item-background:var(--color-sidebar-background);--color-sidebar-item-background--current:var( --color-sidebar-item-background );--color-sidebar-item-background--hover:linear-gradient(90deg,var(--color-background-hover--transparent) 0%,var(--color-background-hover) var(--sidebar-item-spacing-horizontal),var(--color-background-hover) 100%);--color-sidebar-item-expander-background:transparent;--color-sidebar-item-expander-background--hover:var( --color-background-hover );--color-sidebar-search-text:var(--color-foreground-primary);--color-sidebar-search-background:var(--color-background-secondary);--color-sidebar-search-background--focus:var(--color-background-primary);--color-sidebar-search-border:var(--color-background-border);--color-sidebar-search-icon:var(--color-foreground-muted);--color-toc-background:var(--color-background-primary);--color-toc-title-text:var(--color-foreground-muted);--color-toc-item-text:var(--color-foreground-secondary);--color-toc-item-text--hover:var(--color-foreground-primary);--color-toc-item-text--active:var(--color-brand-primary);--color-content-foreground:var(--color-foreground-primary);--color-content-background:transparent;--color-link:var(--color-brand-content);--color-link--hover:var(--color-brand-content);--color-link-underline:var(--color-background-border);--color-link-underline--hover:var(--color-foreground-border)}.only-light{display:block!important}html body .only-dark{display:none!important}@media not print{body[data-theme=dark]{--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body[data-theme=dark] .only-light{display:none!important}body[data-theme=dark] .only-dark{display:block!important}@media(prefers-color-scheme:dark){body:not([data-theme=light]){--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body:not([data-theme=light]) .only-light{display:none!important}body:not([data-theme=light]) .only-dark{display:block!important}}}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto,body[data-theme=dark] .theme-toggle svg.theme-icon-when-dark,body[data-theme=light] .theme-toggle svg.theme-icon-when-light{display:block}body{font-family:var(--font-stack)}code,kbd,pre,samp{font-family:var(--font-stack--monospace)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article{line-height:1.5}h1,h2,h3,h4,h5,h6{border-radius:.5rem;font-weight:700;line-height:1.25;margin:.5rem -.5rem;padding-left:.5rem;padding-right:.5rem}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}h1{font-size:2.5em;margin-bottom:1rem}h1,h2{margin-top:1.75rem}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1.125em}h6{font-size:1em}small{font-size:80%;opacity:75%}p{margin-bottom:.75rem;margin-top:.5rem}hr.docutils{background-color:var(--color-background-border);border:0;height:1px;margin:2rem 0;padding:0}.centered{text-align:center}a{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}a:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link{color:inherit}a.muted-link:hover{color:var(--color-link);text-decoration-color:var(--color-link-underline--hover)}html{overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth}.sidebar-scroll,.toc-scroll,article[role=main] *{scrollbar-color:var(--color-foreground-border) transparent;scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar,.toc-scroll::-webkit-scrollbar,article[role=main] ::-webkit-scrollbar{height:.25rem;width:.25rem}.sidebar-scroll::-webkit-scrollbar-thumb,.toc-scroll::-webkit-scrollbar-thumb,article[role=main] ::-webkit-scrollbar-thumb{background-color:var(--color-foreground-border);border-radius:.125rem}body,html{background:var(--color-background-primary);color:var(--color-foreground-primary);height:100%}article{background:var(--color-content-background);color:var(--color-content-foreground);overflow-wrap:break-word}.page{display:flex;min-height:100%}.mobile-header{background-color:var(--color-header-background);border-bottom:1px solid var(--color-header-border);color:var(--color-header-text);display:none;height:var(--header-height);width:100%;z-index:10}.mobile-header.scrolled{border-bottom:none;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.mobile-header .header-center a{color:var(--color-header-text);text-decoration:none}.main{display:flex;flex:1}.sidebar-drawer{background:var(--color-sidebar-background);border-right:1px solid var(--color-sidebar-background-border);box-sizing:border-box;display:flex;justify-content:flex-end;min-width:15em;width:calc(50% - 26em)}.sidebar-container,.toc-drawer{box-sizing:border-box;width:15em}.toc-drawer{background:var(--color-toc-background);padding-right:1rem}.sidebar-sticky,.toc-sticky{display:flex;flex-direction:column;height:min(100%,100vh);height:100vh;position:sticky;top:0}.sidebar-scroll,.toc-scroll{flex-grow:1;flex-shrink:1;overflow:auto;scroll-behavior:smooth}.content{display:flex;flex-direction:column;justify-content:space-between;padding:0 3em;width:46em}.icon{display:inline-block;height:1rem;width:1rem}.icon svg{height:100%;width:100%}.announcement{align-items:center;background-color:var(--color-announcement-background);color:var(--color-announcement-text);display:flex;height:var(--header-height);overflow-x:auto}.announcement+.page{min-height:calc(100% - var(--header-height))}.announcement-content{box-sizing:border-box;min-width:100%;padding:.5rem;text-align:center;white-space:nowrap}.announcement-content a{color:var(--color-announcement-text);text-decoration-color:var(--color-announcement-text)}.announcement-content a:hover{color:var(--color-announcement-text);text-decoration-color:var(--color-link--hover)}.no-js .theme-toggle-container{display:none}.theme-toggle-container{vertical-align:middle}.theme-toggle{background:transparent;border:none;cursor:pointer;padding:0}.theme-toggle svg{color:var(--color-foreground-primary);display:none;height:1rem;vertical-align:middle;width:1rem}.theme-toggle-header{float:left;padding:1rem .5rem}.nav-overlay-icon,.toc-overlay-icon{cursor:pointer;display:none}.nav-overlay-icon .icon,.toc-overlay-icon .icon{color:var(--color-foreground-secondary);height:1rem;width:1rem}.nav-overlay-icon,.toc-header-icon{align-items:center;justify-content:center}.toc-content-icon{height:1.5rem;width:1.5rem}.content-icon-container{display:flex;float:right;gap:.5rem;margin-bottom:1rem;margin-left:1rem;margin-top:1.5rem}.content-icon-container .edit-this-page svg{color:inherit;height:1rem;width:1rem}.sidebar-toggle{display:none;position:absolute}.sidebar-toggle[name=__toc]{left:20px}.sidebar-toggle:checked{left:40px}.overlay{background-color:rgba(0,0,0,.54);height:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0}.sidebar-overlay{z-index:20}.toc-overlay{z-index:40}.sidebar-drawer{transition:left .25s ease-in-out;z-index:30}.toc-drawer{transition:right .25s ease-in-out;z-index:50}#__navigation:checked~.sidebar-overlay{height:100%;opacity:1;width:100%}#__navigation:checked~.page .sidebar-drawer{left:0;top:0}#__toc:checked~.toc-overlay{height:100%;opacity:1;width:100%}#__toc:checked~.page .toc-drawer{right:0;top:0}.back-to-top{background:var(--color-background-primary);border-radius:1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 1px 0 hsla(220,9%,46%,.502);display:none;font-size:.8125rem;left:0;margin-left:50%;padding:.5rem .75rem .5rem .5rem;position:fixed;text-decoration:none;top:1rem;transform:translateX(-50%);z-index:10}.back-to-top svg{fill:currentColor;display:inline-block;height:1rem;width:1rem}.back-to-top span{margin-left:.25rem}.show-back-to-top .back-to-top{align-items:center;display:flex}@media(min-width:97em){html{font-size:110%}}@media(max-width:82em){.toc-content-icon{display:flex}.toc-drawer{border-left:1px solid var(--color-background-muted);height:100vh;position:fixed;right:-15em;top:0}.toc-tree{border-left:none;font-size:var(--toc-font-size--mobile)}.sidebar-drawer{width:calc(50% - 18.5em)}}@media(max-width:67em){.nav-overlay-icon{display:flex}.sidebar-drawer{height:100vh;left:-15em;position:fixed;top:0;width:15em}.toc-header-icon{display:flex}.theme-toggle-content,.toc-content-icon{display:none}.theme-toggle-header{display:block}.mobile-header{align-items:center;display:flex;justify-content:space-between;position:sticky;top:0}.mobile-header .header-left,.mobile-header .header-right{display:flex;height:var(--header-height);padding:0 var(--header-padding)}.mobile-header .header-left label,.mobile-header .header-right label{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.nav-overlay-icon .icon,.theme-toggle svg{height:1.25rem;width:1.25rem}:target{scroll-margin-top:var(--header-height)}.back-to-top{top:calc(var(--header-height) + .5rem)}.page{flex-direction:column;justify-content:center}.content{margin-left:auto;margin-right:auto}}@media(max-width:52em){.content{overflow-x:auto;width:100%}}@media(max-width:46em){.content{padding:0 1em}article aside.sidebar{float:none;margin:1rem 0;width:100%}}.admonition,.topic{background:var(--color-admonition-background);border-radius:.2rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);font-size:var(--admonition-font-size);margin:1rem auto;overflow:hidden;padding:0 .5rem .5rem;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:0}.admonition>:last-child,.topic>:last-child{margin-bottom:0}.admonition p.admonition-title,p.topic-title{font-size:var(--admonition-title-font-size);font-weight:500;line-height:1.3;margin:0 -.5rem .5rem;padding:.4rem .5rem .4rem 2rem;position:relative}.admonition p.admonition-title:before,p.topic-title:before{content:"";height:1rem;left:.5rem;position:absolute;width:1rem}p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title:before{background-color:var(--color-admonition-title);-webkit-mask-image:var(--icon-admonition-default);mask-image:var(--icon-admonition-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title:before{background-color:var(--color-topic-title);-webkit-mask-image:var(--icon-topic-default);mask-image:var(--icon-topic-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.admonition{border-left:.2rem solid var(--color-admonition-title)}.admonition.caution{border-left-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.caution>.admonition-title:before{background-color:var(--color-admonition-title--caution);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.warning{border-left-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.warning>.admonition-title:before{background-color:var(--color-admonition-title--warning);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.danger{border-left-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.danger>.admonition-title:before{background-color:var(--color-admonition-title--danger);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.attention{border-left-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.attention>.admonition-title:before{background-color:var(--color-admonition-title--attention);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.error{border-left-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.error>.admonition-title:before{background-color:var(--color-admonition-title--error);-webkit-mask-image:var(--icon-failure);mask-image:var(--icon-failure)}.admonition.hint{border-left-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.hint>.admonition-title:before{background-color:var(--color-admonition-title--hint);-webkit-mask-image:var(--icon-question);mask-image:var(--icon-question)}.admonition.tip{border-left-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.tip>.admonition-title:before{background-color:var(--color-admonition-title--tip);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.important{border-left-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.important>.admonition-title:before{background-color:var(--color-admonition-title--important);-webkit-mask-image:var(--icon-flame);mask-image:var(--icon-flame)}.admonition.note{border-left-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.note>.admonition-title:before{background-color:var(--color-admonition-title--note);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition.seealso{border-left-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.seealso>.admonition-title:before{background-color:var(--color-admonition-title--seealso);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.admonition-todo{border-left-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}.admonition.admonition-todo>.admonition-title:before{background-color:var(--color-admonition-title--admonition-todo);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition-todo>.admonition-title{text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd{margin-left:2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:first-child{margin-top:.125rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list,dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:last-child{margin-bottom:.75rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list>dt{font-size:var(--font-size--small);text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd:empty{margin-bottom:.5rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul{margin-left:-1.2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p:nth-child(2){margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p+p:last-child:empty{margin-bottom:0;margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{color:var(--color-api-overall)}.sig:not(.sig-inline){background:var(--color-api-background);border-radius:.25rem;font-family:var(--font-stack--monospace);font-size:var(--api-font-size);font-weight:700;margin-left:-.25rem;margin-right:-.25rem;padding:.25rem .5rem .25rem 3em;text-indent:-2.5em;transition:background .1s ease-out}.sig:not(.sig-inline):hover{background:var(--color-api-background-hover)}.sig:not(.sig-inline) a.reference .viewcode-link{font-weight:400;width:3.5rem}em.property{font-style:normal}em.property:first-child{color:var(--color-api-keyword)}.sig-name{color:var(--color-api-name)}.sig-prename{color:var(--color-api-pre-name);font-weight:400}.sig-paren{color:var(--color-api-paren)}.sig-param{font-style:normal}.versionmodified{font-style:italic}div.deprecated p,div.versionadded p,div.versionchanged p{margin-bottom:.125rem;margin-top:.125rem}.viewcode-back,.viewcode-link{float:right;text-align:right}.line-block{margin-bottom:.75rem;margin-top:.5rem}.line-block .line-block{margin-bottom:0;margin-top:0;padding-left:1rem}.code-block-caption,article p.caption,table>caption{font-size:var(--font-size--small);text-align:center}.toctree-wrapper.compound .caption,.toctree-wrapper.compound :not(.caption)>.caption-text{font-size:var(--font-size--small);margin-bottom:0;text-align:initial;text-transform:uppercase}.toctree-wrapper.compound>ul{margin-bottom:0;margin-top:0}.sig-inline,code.literal{background:var(--color-inline-code-background);border-radius:.2em;font-size:var(--font-size--small--2);padding:.1em .2em}pre.literal-block .sig-inline,pre.literal-block code.literal{font-size:inherit;padding:0}p .sig-inline,p code.literal{border:1px solid var(--color-background-border)}.sig-inline{font-family:var(--font-stack--monospace)}div[class*=" highlight-"],div[class^=highlight-]{display:flex;margin:1em 0}div[class*=" highlight-"] .table-wrapper,div[class^=highlight-] .table-wrapper,pre{margin:0;padding:0}pre{overflow:auto}article[role=main] .highlight pre{line-height:1.5}.highlight pre,pre.literal-block{font-size:var(--code-font-size);padding:.625rem .875rem}pre.literal-block{background-color:var(--color-code-background);border-radius:.2rem;color:var(--color-code-foreground);margin-bottom:1rem;margin-top:1rem}.highlight{border-radius:.2rem;width:100%}.highlight .gp,.highlight span.linenos{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .hll{display:block;margin-left:-.875rem;margin-right:-.875rem;padding-left:.875rem;padding-right:.875rem}.code-block-caption{background-color:var(--color-code-background);border-bottom:1px solid;border-radius:.25rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--color-background-border);color:var(--color-code-foreground);display:flex;font-weight:300;padding:.625rem .875rem}.code-block-caption+div[class]{margin-top:0}.code-block-caption+div[class] pre{border-top-left-radius:0;border-top-right-radius:0}.highlighttable{display:block;width:100%}.highlighttable tbody{display:block}.highlighttable tr{display:flex}.highlighttable td.linenos{background-color:var(--color-code-background);border-bottom-left-radius:.2rem;border-top-left-radius:.2rem;color:var(--color-code-foreground);padding:.625rem 0 .625rem .875rem}.highlighttable .linenodiv{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;font-size:var(--code-font-size);padding-right:.875rem}.highlighttable td.code{display:block;flex:1;overflow:hidden;padding:0}.highlighttable td.code .highlight{border-bottom-left-radius:0;border-top-left-radius:0}.highlight span.linenos{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;display:inline-block;margin-right:.875rem;padding-left:0;padding-right:.875rem}.footnote-reference{font-size:var(--font-size--small--4);vertical-align:super}dl.footnote.brackets{color:var(--color-foreground-secondary);display:grid;font-size:var(--font-size--small);grid-template-columns:max-content auto}dl.footnote.brackets dt{margin:0}dl.footnote.brackets dt>.fn-backref{margin-left:.25rem}dl.footnote.brackets dt:after{content:":"}dl.footnote.brackets dt .brackets:before{content:"["}dl.footnote.brackets dt .brackets:after{content:"]"}dl.footnote.brackets dd{margin:0;padding:0 1rem}aside.footnote{color:var(--color-foreground-secondary);font-size:var(--font-size--small)}aside.footnote>span,div.citation>span{float:left;font-weight:500;padding-right:.25rem}aside.footnote>p,div.citation>p{margin-left:2rem}img{box-sizing:border-box;height:auto;max-width:100%}article .figure,article figure{border-radius:.2rem;margin:0}article .figure :last-child,article figure :last-child{margin-bottom:0}article .align-left{clear:left;float:left;margin:0 1rem 1rem}article .align-right{clear:right;float:right;margin:0 1rem 1rem}article .align-center,article .align-default{display:block;margin-left:auto;margin-right:auto;text-align:center}article table.align-default{display:table;text-align:initial}.domainindex-jumpbox,.genindex-jumpbox{border-bottom:1px solid var(--color-background-border);border-top:1px solid var(--color-background-border);padding:.25rem}.domainindex-section h2,.genindex-section h2{margin-bottom:.5rem;margin-top:.75rem}.domainindex-section ul,.genindex-section ul{margin-bottom:0;margin-top:0}ol,ul{margin-bottom:1rem;margin-top:1rem;padding-left:1.2rem}ol li>p:first-child,ul li>p:first-child{margin-bottom:.25rem;margin-top:.25rem}ol li>p:last-child,ul li>p:last-child{margin-top:.25rem}ol li>ol,ol li>ul,ul li>ol,ul li>ul{margin-bottom:.5rem;margin-top:.5rem}ol.arabic{list-style:decimal}ol.loweralpha{list-style:lower-alpha}ol.upperalpha{list-style:upper-alpha}ol.lowerroman{list-style:lower-roman}ol.upperroman{list-style:upper-roman}.simple li>ol,.simple li>ul,.toctree-wrapper li>ol,.toctree-wrapper li>ul{margin-bottom:0;margin-top:0}.field-list dt,.option-list dt,dl.footnote dt,dl.glossary dt,dl.simple dt,dl:not([class]) dt{font-weight:500;margin-top:.25rem}.field-list dt+dt,.option-list dt+dt,dl.footnote dt+dt,dl.glossary dt+dt,dl.simple dt+dt,dl:not([class]) dt+dt{margin-top:0}.field-list dt .classifier:before,.option-list dt .classifier:before,dl.footnote dt .classifier:before,dl.glossary dt .classifier:before,dl.simple dt .classifier:before,dl:not([class]) dt .classifier:before{content:":";margin-left:.2rem;margin-right:.2rem}.field-list dd ul,.field-list dd>p:first-child,.option-list dd ul,.option-list dd>p:first-child,dl.footnote dd ul,dl.footnote dd>p:first-child,dl.glossary dd ul,dl.glossary dd>p:first-child,dl.simple dd ul,dl.simple dd>p:first-child,dl:not([class]) dd ul,dl:not([class]) dd>p:first-child{margin-top:.125rem}.field-list dd ul,.option-list dd ul,dl.footnote dd ul,dl.glossary dd ul,dl.simple dd ul,dl:not([class]) dd ul{margin-bottom:.125rem}.math-wrapper{overflow-x:auto;width:100%}div.math{position:relative;text-align:center}div.math .headerlink,div.math:focus .headerlink{display:none}div.math:hover .headerlink{display:inline-block}div.math span.eqno{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1}abbr[title]{cursor:help}.problematic{color:var(--color-problematic)}kbd:not(.compound){background-color:var(--color-background-secondary);border:1px solid var(--color-foreground-border);border-radius:.2rem;box-shadow:0 .0625rem 0 rgba(0,0,0,.2),inset 0 0 0 .125rem var(--color-background-primary);color:var(--color-foreground-primary);display:inline-block;font-size:var(--font-size--small--3);margin:0 .2rem;padding:0 .2rem;vertical-align:text-bottom}blockquote{background:var(--color-background-secondary);border-left:4px solid var(--color-background-border);margin-left:0;margin-right:0;padding:.5rem 1rem}blockquote .attribution{font-weight:600;text-align:right}blockquote.highlights,blockquote.pull-quote{font-size:1.25em}blockquote.epigraph,blockquote.pull-quote{border-left-width:0;border-radius:.5rem}blockquote.highlights{background:transparent;border-left-width:0}p .reference img{vertical-align:middle}p.rubric{font-size:1.125em;font-weight:700;line-height:1.25}dd p.rubric{font-size:var(--font-size--small);font-weight:inherit;line-height:inherit;text-transform:uppercase}article .sidebar{background-color:var(--color-background-secondary);border:1px solid var(--color-background-border);border-radius:.2rem;clear:right;float:right;margin-left:1rem;margin-right:0;width:30%}article .sidebar>*{padding-left:1rem;padding-right:1rem}article .sidebar>ol,article .sidebar>ul{padding-left:2.2rem}article .sidebar .sidebar-title{border-bottom:1px solid var(--color-background-border);font-weight:500;margin:0;padding:.5rem 1rem}.table-wrapper{margin-bottom:.5rem;margin-top:1rem;overflow-x:auto;padding:.2rem .2rem .75rem;width:100%}table.docutils{border-collapse:collapse;border-radius:.2rem;border-spacing:0;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}table.docutils th{background:var(--color-table-header-background)}table.docutils td,table.docutils th{border-bottom:1px solid var(--color-table-border);border-left:1px solid var(--color-table-border);border-right:1px solid var(--color-table-border);padding:0 .25rem}table.docutils td p,table.docutils th p{margin:.25rem}table.docutils td:first-child,table.docutils th:first-child{border-left:none}table.docutils td:last-child,table.docutils th:last-child{border-right:none}table.docutils td.text-left,table.docutils th.text-left{text-align:left}table.docutils td.text-right,table.docutils th.text-right{text-align:right}table.docutils td.text-center,table.docutils th.text-center{text-align:center}:target{scroll-margin-top:.5rem}@media(max-width:67em){:target{scroll-margin-top:calc(.5rem + var(--header-height))}section>span:target{scroll-margin-top:calc(.8rem + var(--header-height))}}.headerlink{font-weight:100;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block-caption>.headerlink,dl dt>.headerlink,figcaption p>.headerlink,h1>.headerlink,h2>.headerlink,h3>.headerlink,h4>.headerlink,h5>.headerlink,h6>.headerlink,p.caption>.headerlink,table>caption>.headerlink{margin-left:.5rem;visibility:hidden}.code-block-caption:hover>.headerlink,dl dt:hover>.headerlink,figcaption p:hover>.headerlink,h1:hover>.headerlink,h2:hover>.headerlink,h3:hover>.headerlink,h4:hover>.headerlink,h5:hover>.headerlink,h6:hover>.headerlink,p.caption:hover>.headerlink,table>caption:hover>.headerlink{visibility:visible}.code-block-caption>.toc-backref,dl dt>.toc-backref,figcaption p>.toc-backref,h1>.toc-backref,h2>.toc-backref,h3>.toc-backref,h4>.toc-backref,h5>.toc-backref,h6>.toc-backref,p.caption>.toc-backref,table>caption>.toc-backref{color:inherit;text-decoration-line:none}figure:hover>figcaption>p>.headerlink,table:hover>caption>.headerlink{visibility:visible}:target>h1:first-of-type,:target>h2:first-of-type,:target>h3:first-of-type,:target>h4:first-of-type,:target>h5:first-of-type,:target>h6:first-of-type,span:target~h1:first-of-type,span:target~h2:first-of-type,span:target~h3:first-of-type,span:target~h4:first-of-type,span:target~h5:first-of-type,span:target~h6:first-of-type{background-color:var(--color-highlight-on-target)}:target>h1:first-of-type code.literal,:target>h2:first-of-type code.literal,:target>h3:first-of-type code.literal,:target>h4:first-of-type code.literal,:target>h5:first-of-type code.literal,:target>h6:first-of-type code.literal,span:target~h1:first-of-type code.literal,span:target~h2:first-of-type code.literal,span:target~h3:first-of-type code.literal,span:target~h4:first-of-type code.literal,span:target~h5:first-of-type code.literal,span:target~h6:first-of-type code.literal{background-color:transparent}.literal-block-wrapper:target .code-block-caption,.this-will-duplicate-information-and-it-is-still-useful-here li :target,figure:target,table:target>caption{background-color:var(--color-highlight-on-target)}dt:target{background-color:var(--color-highlight-on-target)!important}.footnote-reference:target,.footnote>dt:target+dd{background-color:var(--color-highlight-on-target)}.guilabel{background-color:var(--color-guilabel-background);border:1px solid var(--color-guilabel-border);border-radius:.5em;color:var(--color-guilabel-text);font-size:.9em;padding:0 .3em}footer{display:flex;flex-direction:column;font-size:var(--font-size--small);margin-top:2rem}.bottom-of-page{align-items:center;border-top:1px solid var(--color-background-border);color:var(--color-foreground-secondary);display:flex;justify-content:space-between;line-height:1.5;margin-top:1rem;padding-bottom:1rem;padding-top:1rem}@media(max-width:46em){.bottom-of-page{flex-direction:column-reverse;gap:.25rem;text-align:center}}.bottom-of-page .left-details{font-size:var(--font-size--small)}.bottom-of-page .right-details{display:flex;flex-direction:column;gap:.25rem;text-align:right}.bottom-of-page .icons{display:flex;font-size:1rem;gap:.25rem;justify-content:flex-end}.bottom-of-page .icons a{text-decoration:none}.bottom-of-page .icons img,.bottom-of-page .icons svg{font-size:1.125rem;height:1em;width:1em}.related-pages a{align-items:center;display:flex;text-decoration:none}.related-pages a:hover .page-info .title{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}.related-pages a svg.furo-related-icon,.related-pages a svg.furo-related-icon>use{color:var(--color-foreground-border);flex-shrink:0;height:.75rem;margin:0 .5rem;width:.75rem}.related-pages a.next-page{clear:right;float:right;max-width:50%;text-align:right}.related-pages a.prev-page{clear:left;float:left;max-width:50%}.related-pages a.prev-page svg{transform:rotate(180deg)}.page-info{display:flex;flex-direction:column;overflow-wrap:anywhere}.next-page .page-info{align-items:flex-end}.page-info .context{align-items:center;color:var(--color-foreground-muted);display:flex;font-size:var(--font-size--small);padding-bottom:.1rem;text-decoration:none}ul.search{list-style:none;padding-left:0}ul.search li{border-bottom:1px solid var(--color-background-border);padding:1rem 0}[role=main] .highlighted{background-color:var(--color-highlighted-background);color:var(--color-highlighted-text)}.sidebar-brand{display:flex;flex-direction:column;flex-shrink:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none}.sidebar-brand-text{color:var(--color-sidebar-brand-text);font-size:1.5rem;overflow-wrap:break-word}.sidebar-brand-text,.sidebar-logo-container{margin:var(--sidebar-item-spacing-vertical) 0}.sidebar-logo{display:block;margin:0 auto;max-width:100%}.sidebar-search-container{align-items:center;background:var(--color-sidebar-search-background);display:flex;margin-top:var(--sidebar-search-space-above);position:relative}.sidebar-search-container:focus-within,.sidebar-search-container:hover{background:var(--color-sidebar-search-background--focus)}.sidebar-search-container:before{background-color:var(--color-sidebar-search-icon);content:"";height:var(--sidebar-search-icon-size);left:var(--sidebar-item-spacing-horizontal);-webkit-mask-image:var(--icon-search);mask-image:var(--icon-search);position:absolute;width:var(--sidebar-search-icon-size)}.sidebar-search{background:transparent;border:none;border-bottom:1px solid var(--color-sidebar-search-border);border-top:1px solid var(--color-sidebar-search-border);box-sizing:border-box;color:var(--color-sidebar-search-foreground);padding:var(--sidebar-search-input-spacing-vertical) var(--sidebar-search-input-spacing-horizontal) var(--sidebar-search-input-spacing-vertical) calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size));width:100%;z-index:10}.sidebar-search:focus{outline:none}.sidebar-search::-moz-placeholder{font-size:var(--sidebar-search-input-font-size)}.sidebar-search::placeholder{font-size:var(--sidebar-search-input-font-size)}#searchbox .highlight-link{margin:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0;text-align:center}#searchbox .highlight-link a{color:var(--color-sidebar-search-icon);font-size:var(--font-size--small--2)}.sidebar-tree{font-size:var(--sidebar-item-font-size);margin-bottom:var(--sidebar-item-spacing-vertical);margin-top:var(--sidebar-tree-space-above)}.sidebar-tree ul{display:flex;flex-direction:column;list-style:none;margin-bottom:0;margin-top:0;padding:0}.sidebar-tree li{margin:0;position:relative}.sidebar-tree li>ul{margin-left:var(--sidebar-item-spacing-horizontal)}.sidebar-tree .icon,.sidebar-tree .reference{color:var(--color-sidebar-link-text)}.sidebar-tree .reference{box-sizing:border-box;display:inline-block;height:100%;line-height:var(--sidebar-item-line-height);overflow-wrap:anywhere;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none;width:100%}.sidebar-tree .reference:hover{background:var(--color-sidebar-item-background--hover)}.sidebar-tree .reference.external:after{color:var(--color-sidebar-link-text);content:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23607D8B' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 0h24v24H0z' stroke='none'/%3E%3Cpath d='M11 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5M10 14 20 4M15 4h5v5'/%3E%3C/svg%3E");margin:0 .25rem;vertical-align:middle}.sidebar-tree .current-page>.reference{font-weight:700}.sidebar-tree label{align-items:center;cursor:pointer;display:flex;height:var(--sidebar-item-height);justify-content:center;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--sidebar-expander-width)}.sidebar-tree .caption,.sidebar-tree :not(.caption)>.caption-text{color:var(--color-sidebar-caption-text);font-size:var(--sidebar-caption-font-size);font-weight:700;margin:var(--sidebar-caption-space-above) 0 0 0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-transform:uppercase}.sidebar-tree li.has-children>.reference{padding-right:var(--sidebar-expander-width)}.sidebar-tree .toctree-l1>.reference,.sidebar-tree .toctree-l1>label .icon{color:var(--color-sidebar-link-text--top-level)}.sidebar-tree label{background:var(--color-sidebar-item-expander-background)}.sidebar-tree label:hover{background:var(--color-sidebar-item-expander-background--hover)}.sidebar-tree .current>.reference{background:var(--color-sidebar-item-background--current)}.sidebar-tree .current>.reference:hover{background:var(--color-sidebar-item-background--hover)}.toctree-checkbox{display:none;position:absolute}.toctree-checkbox~ul{display:none}.toctree-checkbox~label .icon svg{transform:rotate(90deg)}.toctree-checkbox:checked~ul{display:block}.toctree-checkbox:checked~label .icon svg{transform:rotate(-90deg)}.toc-title-container{padding:var(--toc-title-padding);padding-top:var(--toc-spacing-vertical)}.toc-title{color:var(--color-toc-title-text);font-size:var(--toc-title-font-size);padding-left:var(--toc-spacing-horizontal);text-transform:uppercase}.no-toc{display:none}.toc-tree-container{padding-bottom:var(--toc-spacing-vertical)}.toc-tree{border-left:1px solid var(--color-background-border);font-size:var(--toc-font-size);line-height:1.3;padding-left:calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))}.toc-tree>ul>li:first-child{padding-top:0}.toc-tree>ul>li:first-child>ul{padding-left:0}.toc-tree>ul>li:first-child>a{display:none}.toc-tree ul{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:var(--toc-item-spacing-horizontal)}.toc-tree li{padding-top:var(--toc-item-spacing-vertical)}.toc-tree li.scroll-current>.reference{color:var(--color-toc-item-text--active);font-weight:700}.toc-tree .reference{color:var(--color-toc-item-text);overflow-wrap:anywhere;text-decoration:none}.toc-scroll{max-height:100vh;overflow-y:scroll}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here){background:rgba(255,0,0,.25);color:var(--color-problematic)}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here):before{content:"ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling.Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch."}.text-align\:left>p{text-align:left}.text-align\:center>p{text-align:center}.text-align\:right>p{text-align:right}
+/*# sourceMappingURL=furo.css.map*/ \ No newline at end of file
diff --git a/v11.0.1/_static/styles/furo.css.map b/v11.0.1/_static/styles/furo.css.map
new file mode 100644
index 00000000..1924b333
--- /dev/null
+++ b/v11.0.1/_static/styles/furo.css.map
@@ -0,0 +1 @@
+{"version":3,"file":"styles/furo.css","mappings":"AAAA,2EAA2E,CAU3E,KAEE,6BAA8B,CAD9B,gBAEF,CASA,KACE,QACF,CAMA,KACE,aACF,CAOA,GACE,aAAc,CACd,cACF,CAUA,GACE,sBAAuB,CACvB,QAAS,CACT,gBACF,CAOA,IACE,+BAAiC,CACjC,aACF,CASA,EACE,4BACF,CAOA,YACE,kBAAmB,CACnB,yBAA0B,CAC1B,gCACF,CAMA,SAEE,kBACF,CAOA,cAGE,+BAAiC,CACjC,aACF,CAeA,QAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBACF,CAEA,IACE,aACF,CAEA,IACE,SACF,CASA,IACE,iBACF,CAUA,sCAKE,mBAAoB,CACpB,cAAe,CACf,gBAAiB,CACjB,QACF,CAOA,aAEE,gBACF,CAOA,cAEE,mBACF,CAMA,gDAIE,yBACF,CAMA,wHAIE,iBAAkB,CAClB,SACF,CAMA,4GAIE,6BACF,CAMA,SACE,0BACF,CASA,OACE,qBAAsB,CACtB,aAAc,CACd,aAAc,CACd,cAAe,CACf,SAAU,CACV,kBACF,CAMA,SACE,uBACF,CAMA,SACE,aACF,CAOA,6BAEE,qBAAsB,CACtB,SACF,CAMA,kFAEE,WACF,CAOA,cACE,4BAA6B,CAC7B,mBACF,CAMA,yCACE,uBACF,CAOA,6BACE,yBAA0B,CAC1B,YACF,CASA,QACE,aACF,CAMA,QACE,iBACF,CAiBA,kBACE,YACF,CCvVA,aAcE,kEACE,uBAOF,WACE,iDAMF,gCACE,wBAEF,qCAEE,uBADA,uBACA,CAEF,SACE,wBAtBA,CCpBJ,iBAOE,6BAEA,mBANA,qBAEA,sBACA,0BAFA,oBAHA,4BAOA,6BANA,mBAOA,CAEF,gBACE,aCPF,KCGE,mHAEA,wGAGA,wBAAyB,CACzB,wBAAyB,CACzB,4BAA6B,CAC7B,yBAA0B,CAC1B,2BAA4B,CAG5B,sDAAuD,CACvD,gDAAiD,CACjD,wDAAyD,CAGzD,0CAA2C,CAC3C,gDAAiD,CACjD,gDAAiD,CAKjD,gCAAiC,CACjC,sCAAuC,CAGvC,2CAA4C,CAG5C,uCAAwC,CChCxC,+FAGA,uBAAwB,CAGxB,iCAAkC,CAClC,kCAAmC,CAEnC,+BAAgC,CAChC,sCAAuC,CACvC,sCAAuC,CACvC,qGAIA,mDAAoD,CAEpD,mCAAoC,CACpC,8CAA+C,CAC/C,gDAAiD,CACjD,kCAAmC,CACnC,6DAA8D,CAG9D,6BAA8B,CAC9B,6BAA8B,CAC9B,+BAAgC,CAChC,kCAAmC,CACnC,kCAAmC,CCPjC,ukBCYA,srCAZF,kaCVA,mLAOA,oTAWA,2UAaA,0CACA,gEACA,0CAGA,gEAUA,yCACA,+DAGA,4CACA,CACA,iEAGA,sGACA,uCACA,4DAGA,sCACA,2DAEA,4CACA,kEACA,oGACA,CAEA,0GACA,+CAGA,+MAOA,+EACA,wCAIA,4DACA,sEACA,kEACA,sEACA,gDAGA,+DACA,0CACA,gEACA,gGACA,CAGA,2DACA,qDAGA,0CACA,8CACA,oDACA,oDL7GF,iCAEA,iEAME,oCKyGA,yDAIA,sCACA,kCACA,sDAGA,0CACA,kEACA,oDAEA,sDAGA,oCACA,oEAIA,CAGA,yDAGA,qDACA,oDAGA,6DAIA,iEAGA,2DAEA,2DL9IE,4DAEA,gEAIF,gEKgGA,gFAIA,oNAOA,qDAEA,gFAIA,4DAIA,oEAMA,yEAIA,6DACA,0DAGA,uDAGA,qDAEA,wDLpII,6DAEA,yDACE,2DAMN,uCAIA,yCACE,8CAGF,sDMjDA,6DAKA,oCAIA,4CACA,kBAGF,sBAMA,2BAME,qCAGA,qCAEA,iCAEA,+BAEA,mCAEA,qCAIA,CACA,gCACA,gDAKA,kCAIA,6BAEA,0CAQA,kCAIF,8BAGE,8BACA,uCAGF,sCAKE,kCAEA,sDAGA,iCACE,CACA,2FAGA,gCACE,CACA,+DCzEJ,wCAEA,sBAEF,yDAEE,mCACA,wDAGA,2GAGA,wIACE,gDAMJ,kCAGE,6BACA,0CAGA,gEACA,8BACA,uCAKA,sCAIA,kCACA,sDACA,iCACA,sCAOA,sDAKE,gGAIE,+CAGN,sBAEE,yCAMA,0BAOA,yLAKA,aACA,MAEF,6BACE,mBAEA,wCAEF,wCAIE,kCAGA,SACA,kCAKA,mBAGA,CAJA,eACA,CAHF,gBAEE,CAWA,mBACA,mBACA,mDAIA,YACA,mBACA,CAEE,kBAMF,OAPE,kBAOF,oCACA,yCAEA,wBAEA,cADA,WACA,GACA,oBACA,CAFA,gBAEA,aAGF,+CAEE,UAJE,wBAEJ,CAFI,SAIF,CACA,2BACA,GAGA,uBACE,CAJF,yBAGA,CACE,iDACA,uCAEA,yDACE,cACA,wDAKN,yDAIE,uBAEF,kBACE,uBAEA,kDAKA,0DAEA,CAHA,oBAIA,0GAWA,aAEA,CAHA,YAGA,4HAKF,+CAGE,sBAEF,WAKE,0CAGA,CANA,qCAGA,CAJA,WAOA,SAIA,0CACE,CALF,qCAIA,CACE,wBAEA,mBAEJ,gBACE,gBAIA,+CAKF,CAIE,kDAEA,CANF,8BAIE,CAEA,YAGA,CAfF,2BACE,CAHA,UAEF,CAYE,UAGA,2CACF,iEAOE,iCACA,8BAGA,wCAIA,wBAMI,0CAKF,CATA,6DAGA,CALF,qBAEE,CASA,YACA,yBAGA,CAEE,cAKN,CAPI,sBAOJ,gCAGE,qBAEA,WACA,aACA,sCAEA,mBACA,6BAGA,uEADA,qBACA,6BAIA,yBACA,qCAEE,UAEA,YACA,sBAEF,8BAGA,CAPE,aACA,WAMF,4BACE,sBACA,WAMJ,uBACE,cAYE,mBAXA,qDAKA,qCAGA,CAEA,YACA,CAHA,2BAEA,CACA,oCAEA,4CACA,uBAIA,sBAEJ,eAFI,cAIF,iBACE,CAHJ,kBAGI,yBAEA,oCAIA,qDAMF,mEAGE,+CAKA,gCAEA,qCAGA,oCAGE,sBACA,CAJF,WAEE,CAFF,eAEE,SAEA,mBACA,qCACE,aACA,CAFF,YADA,qBACA,WAEE,sBACA,kEAEN,cAEE,CAFF,YAEE,iDAKA,uCAIA,2DAKA,kBAEA,CAHA,sBAGA,mBACA,0BAEJ,yBAII,aADA,WACA,CAMF,UAFE,kBAEF,CAJF,gBAEI,CAFJ,iBAIE,6CC9ZF,yBACE,WACA,iBAEA,aAFA,iBAEA,6BAEA,kCACA,mBAKA,gCAGA,CARA,QAEA,CAGA,UALA,qBAEA,qDAGA,CALA,OAQA,4BACE,cAGF,2BACE,gCAEJ,CAHE,UAGF,8CAGE,CAHF,UAGE,wCAGA,qBACA,CAFA,UAEA,6CAGA,yCAIA,sBAHA,UAGA,kCACE,OACA,CADA,KACA,cAQF,0CACE,CAFF,kBACA,CACE,wEACA,CARA,YACA,CAKF,mBAFF,MACE,CAIE,gBAJF,iCAJE,cAGJ,CANI,oBAEA,CAKF,SAIE,2BADA,UACA,kBAGF,sCACA,CAFF,WACE,WACA,mBACE,kDACA,0EACA,uDAKJ,aACE,mDAII,CAJJ,6CAII,4BACA,sCACE,kEACA,+CACE,aACA,WADA,+BACA,uEANN,YACE,mDAEE,mBADF,0CACE,CADF,qBACE,0DACA,YACE,4DACA,sEANN,YACE,8CACA,kBADA,UACA,2CACE,2EACA,cACE,kEACA,mEANN,yBACE,4DACA,sBACE,+EAEE,iEACA,qEANN,sCACE,CAGE,iBAHF,gBAGE,qBACE,CAJJ,uBACA,gDACE,wDACA,6DAHF,2CACA,CADA,gBACA,eACE,CAGE,sBANN,8BACE,CAII,iBAFF,4DACA,WACE,YADF,uCACE,6EACA,2BANN,8CACE,kDACA,0CACE,8BACA,yFACE,sBACA,sFALJ,mEACA,sBACE,kEACA,6EACE,uCACA,kEALJ,qGAEE,kEACA,6EACE,uCACA,kEALJ,8CACA,uDACE,sEACA,2EACE,sCACA,iEALJ,mGACA,qCACE,oDACA,0DACE,6GACA,gDAGR,yDCrEA,sEACE,CACA,6GACE,gEACF,iGAIF,wFACE,qDAGA,mGAEE,2CAEF,4FACE,gCACF,wGACE,8DAEE,6FAIA,iJAKN,6GACE,gDAKF,yDACA,qCAGA,6BACA,kBACA,qDAKA,oCAEA,+DAGA,2CAGE,oDAIA,oEAEE,qBAGJ,wDAEE,uCAEF,kEAGA,8CAEA,uDAKA,oCAEA,yDAEE,gEAKF,+CC5FA,0EAGE,CACA,qDCLJ,+DAIE,sCAIA,kEACE,yBACA,2FAMA,gBACA,yGCbF,mBAOA,2MAIA,4HAYA,0DACE,8GAYF,8HAQE,mBAEA,6HAOF,YAGA,mIAME,eACA,CAFF,YAEE,4FAMJ,8BAEE,uBAYA,sCAEE,CAJF,oBAEA,CARA,wCAEA,CAHA,8BACA,CAFA,eACA,CAGA,wCAEA,CAEA,mDAIE,kCACE,6BACA,4CAKJ,kDAIA,eACE,aAGF,8BACE,uDACA,sCACA,cAEA,+BACA,CAFA,eAEA,wCAEF,YACE,iBACA,mCACA,0DAGF,qBAEE,CAFF,kBAEE,+BAIA,yCAEE,qBADA,gBACA,yBAKF,eACA,CAFF,YACE,CACA,iBACA,qDAEA,mDCvIJ,2FAOE,iCACA,CAEA,eACA,CAHA,kBAEA,CAFA,wBAGA,8BACA,eACE,CAFF,YAEE,0BACA,8CAGA,oBACE,oCAGA,kBACE,8DAEA,iBAEN,UACE,8BAIJ,+CAEE,qDAEF,kDAIE,YAEF,CAFE,YAEF,CCjCE,mFAJA,QACA,UAIE,CADF,iBACE,mCAGA,iDACE,+BAGF,wBAEA,mBAKA,6CAEF,CAHE,mBACA,CAEF,kCAIE,CARA,kBACA,CAFF,eASE,YACA,mBAGF,CAJE,UAIF,wCCjCA,oBDmCE,wBCpCJ,uCACE,8BACA,4CACA,oBAGA,2CCAA,6CAGE,CAPF,uBAIA,CDGA,gDACE,6BCVJ,CAWM,2CAEF,CAJA,kCAEE,CDJF,aCLF,gBDKE,uBCMA,gCAGA,gDAGE,wBAGJ,0BAEA,iBACE,aACF,CADE,UACF,uBACE,aACF,oBACE,YACF,4BACE,6CAMA,CAYF,6DAZE,mCAGE,iCASJ,4BAGE,4DADA,+BACA,CAFA,qBAEA,yBACE,aAEF,wBAHA,SAGA,iHACE,2DAKF,CANA,yCACE,CADF,oCAMA,uSAIA,sGACE,oDChEJ,WAEF,yBACE,QACA,eAEA,gBAEE,uCAGA,CALF,iCAKE,uCAGA,0BACA,CACA,oBACA,iCClBJ,gBACE,KAGF,qBACE,YAGF,CAHE,cAGF,gCAEE,mBACA,iEAEA,oCACA,wCAEA,sBACA,WAEA,CAFA,YAEA,8EAEA,mCAFA,iBAEA,6BAIA,wEAKA,sDAIE,CARF,mDAIA,CAIE,cAEF,8CAIA,oBAFE,iBAEF,8CAGE,eAEF,CAFE,YAEF,OAEE,kBAGJ,CAJI,eACA,CAFF,mBAKF,yCCjDE,oBACA,CAFA,iBAEA,uCAKE,iBACA,qCAGA,mBCZJ,CDWI,gBCXJ,6BAEE,eACA,sBAGA,eAEA,sBACA,oDACA,iGAMA,gBAFE,YAEF,8FAME,iJClBF,YACA,gNAUE,6BAEF,oTAcI,kBACF,gHAIA,qBACE,eACF,qDACE,kBACF,6DACE,4BCxCJ,oBAEF,qCAEI,+CAGF,uBACE,uDAGJ,oBAkBE,mDAhBA,+CAaA,CAbA,oBAaA,0FAEE,CAFF,gGAbA,+BAaA,0BAGA,mQAIA,oNAEE,iBAGJ,CAHI,gBADA,gBAIJ,8CAYI,CAZJ,wCAYI,sVACE,iCAGA,uEAHA,QAGA,qXAKJ,iDAGF,CARM,+CACE,iDAIN,CALI,gBAQN,mHACE,gBAGF,2DACE,0EAOA,0EAKA,6EC/EA,iDACA,gCACA,oDAGA,qBACA,oDCFA,cACA,eAEA,yBAGF,sBAEE,iBACA,sNAWA,iBACE,kBACA,wRAgBA,kBAEA,iOAgBA,uCACE,uEAEA,kBAEF,qUAuBE,iDAIJ,CACA,geCxFF,4BAEE,CAQA,6JACA,iDAIA,sEAGA,mDAOF,iDAGE,4DAIA,8CACA,qDAEE,eAFF,cAEE,oBAEF,uBAFE,kCAGA,eACA,iBACA,mBAIA,mDACA,CAHA,uCAEA,CAJA,0CACA,CAIA,gBAJA,gBACA,oBADA,gBAIA,wBAEJ,gBAGE,6BACA,YAHA,iBAGA,gCACA,iEAEA,6CACA,sDACA,0BADA,wBACA,0BACA,oIAIA,mBAFA,YAEA,qBACA,0CAIE,uBAEF,CAHA,yBACE,CAEF,iDACE,mFAKJ,oCACE,CANE,aAKJ,CACE,qEAIA,YAFA,WAEA,CAHA,aACA,CAEA,gBACE,4BACA,sBADA,aACA,gCAMF,oCACA,yDACA,2CAEA,qBAGE,kBAEA,CACA,mCAIF,CARE,YACA,CAOF,iCAEE,CAPA,oBACA,CAQA,oBACE,uDAEJ,sDAGA,CAHA,cAGA,0BACE,oDAIA,oCACA,4BACA,sBAGA,cAEA,oFAGA,sBAEA,yDACE,CAIA,iBAJA,wBAIA,6CAJA,6CAOA,4BAGJ,CAHI,cAGJ,yCAGA,kBACE,CAIA,iDAEA,CATA,YAEF,CACE,4CAGA,kBAIA,wEAEA,wDAIF,kCAOE,iDACA,CARF,WAIE,sCAGA,CANA,2CACA,CAMA,oEARF,iBACE,CACA,qCAMA,iBAuBE,uBAlBF,YAKA,2DALA,uDAKA,CALA,sBAiBA,4CACE,CALA,gRAIF,YACE,UAEN,uBACE,YACA,mCAOE,+CAGA,8BAGF,+CAGA,4BCjNA,SDiNA,qFCjNA,gDAGA,sCACA,qCACA,sDAIF,CAIE,kDAGA,CAPF,0CAOE,kBAEA,kDAEA,CAHA,eACA,CAFA,YACA,CADA,SAIA,mHAIE,CAGA,6CAFA,oCAeE,CAbF,yBACE,qBAEJ,CAGE,oBACA,CAEA,YAFA,2CACF,CACE,uBAEA,mFAEE,CALJ,oBACE,CAEA,UAEE,gCAGF,sDAEA,yCC7CJ,oCAGA,CD6CE,yXAQE,sCCrDJ,wCAGA,oCACE","sources":["webpack:///./node_modules/normalize.css/normalize.css","webpack:///./src/furo/assets/styles/base/_print.sass","webpack:///./src/furo/assets/styles/base/_screen-readers.sass","webpack:///./src/furo/assets/styles/base/_theme.sass","webpack:///./src/furo/assets/styles/variables/_fonts.scss","webpack:///./src/furo/assets/styles/variables/_spacing.scss","webpack:///./src/furo/assets/styles/variables/_icons.scss","webpack:///./src/furo/assets/styles/variables/_admonitions.scss","webpack:///./src/furo/assets/styles/variables/_colors.scss","webpack:///./src/furo/assets/styles/base/_typography.sass","webpack:///./src/furo/assets/styles/_scaffold.sass","webpack:///./src/furo/assets/styles/content/_admonitions.sass","webpack:///./src/furo/assets/styles/content/_api.sass","webpack:///./src/furo/assets/styles/content/_blocks.sass","webpack:///./src/furo/assets/styles/content/_captions.sass","webpack:///./src/furo/assets/styles/content/_code.sass","webpack:///./src/furo/assets/styles/content/_footnotes.sass","webpack:///./src/furo/assets/styles/content/_images.sass","webpack:///./src/furo/assets/styles/content/_indexes.sass","webpack:///./src/furo/assets/styles/content/_lists.sass","webpack:///./src/furo/assets/styles/content/_math.sass","webpack:///./src/furo/assets/styles/content/_misc.sass","webpack:///./src/furo/assets/styles/content/_rubrics.sass","webpack:///./src/furo/assets/styles/content/_sidebar.sass","webpack:///./src/furo/assets/styles/content/_tables.sass","webpack:///./src/furo/assets/styles/content/_target.sass","webpack:///./src/furo/assets/styles/content/_gui-labels.sass","webpack:///./src/furo/assets/styles/components/_footer.sass","webpack:///./src/furo/assets/styles/components/_sidebar.sass","webpack:///./src/furo/assets/styles/components/_table_of_contents.sass","webpack:///./src/furo/assets/styles/_shame.sass"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// This file contains styles for managing print media.\n\n////////////////////////////////////////////////////////////////////////////////\n// Hide elements not relevant to print media.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Hide icon container.\n .content-icon-container\n display: none !important\n\n // Hide showing header links if hovering over when printing.\n .headerlink\n display: none !important\n\n // Hide mobile header.\n .mobile-header\n display: none !important\n\n // Hide navigation links.\n .related-pages\n display: none !important\n\n////////////////////////////////////////////////////////////////////////////////\n// Tweaks related to decolorization.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Apply a border around code which no longer have a color background.\n .highlight\n border: 0.1pt solid var(--color-foreground-border)\n\n////////////////////////////////////////////////////////////////////////////////\n// Avoid page break in some relevant cases.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n ul, ol, dl, a, table, pre, blockquote\n page-break-inside: avoid\n\n h1, h2, h3, h4, h5, h6, img, figure, caption\n page-break-inside: avoid\n page-break-after: avoid\n\n ul, ol, dl\n page-break-before: avoid\n",".visually-hidden\n position: absolute !important\n width: 1px !important\n height: 1px !important\n padding: 0 !important\n margin: -1px !important\n overflow: hidden !important\n clip: rect(0,0,0,0) !important\n white-space: nowrap !important\n border: 0 !important\n\n:-moz-focusring\n outline: auto\n","// This file serves as the \"skeleton\" of the theming logic.\n//\n// This contains the bulk of the logic for handling dark mode, color scheme\n// toggling and the handling of color-scheme-specific hiding of elements.\n\nbody\n @include fonts\n @include spacing\n @include icons\n @include admonitions\n @include default-admonition(#651fff, \"abstract\")\n @include default-topic(#14B8A6, \"pencil\")\n\n @include colors\n\n.only-light\n display: block !important\nhtml body .only-dark\n display: none !important\n\n// Ignore dark-mode hints if print media.\n@media not print\n // Enable dark-mode, if requested.\n body[data-theme=\"dark\"]\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n // Enable dark mode, unless explicitly told to avoid.\n @media (prefers-color-scheme: dark)\n body:not([data-theme=\"light\"])\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n//\n// Theme toggle presentation\n//\nbody[data-theme=\"auto\"]\n .theme-toggle svg.theme-icon-when-auto\n display: block\n\nbody[data-theme=\"dark\"]\n .theme-toggle svg.theme-icon-when-dark\n display: block\n\nbody[data-theme=\"light\"]\n .theme-toggle svg.theme-icon-when-light\n display: block\n","// Fonts used by this theme.\n//\n// There are basically two things here -- using the system font stack and\n// defining sizes for various elements in %ages. We could have also used `em`\n// but %age is easier to reason about for me.\n\n@mixin fonts {\n // These are adapted from https://systemfontstack.com/\n --font-stack: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,\n sans-serif, Apple Color Emoji, Segoe UI Emoji;\n --font-stack--monospace: \"SFMono-Regular\", Menlo, Consolas, Monaco,\n Liberation Mono, Lucida Console, monospace;\n\n --font-size--normal: 100%;\n --font-size--small: 87.5%;\n --font-size--small--2: 81.25%;\n --font-size--small--3: 75%;\n --font-size--small--4: 62.5%;\n\n // Sidebar\n --sidebar-caption-font-size: var(--font-size--small--2);\n --sidebar-item-font-size: var(--font-size--small);\n --sidebar-search-input-font-size: var(--font-size--small);\n\n // Table of Contents\n --toc-font-size: var(--font-size--small--3);\n --toc-font-size--mobile: var(--font-size--normal);\n --toc-title-font-size: var(--font-size--small--4);\n\n // Admonitions\n //\n // These aren't defined in terms of %ages, since nesting these is permitted.\n --admonition-font-size: 0.8125rem;\n --admonition-title-font-size: 0.8125rem;\n\n // Code\n --code-font-size: var(--font-size--small--2);\n\n // API\n --api-font-size: var(--font-size--small);\n}\n","// Spacing for various elements on the page\n//\n// If the user wants to tweak things in a certain way, they are permitted to.\n// They also have to deal with the consequences though!\n\n@mixin spacing {\n // Header!\n --header-height: calc(\n var(--sidebar-item-line-height) + 4 * #{var(--sidebar-item-spacing-vertical)}\n );\n --header-padding: 0.5rem;\n\n // Sidebar\n --sidebar-tree-space-above: 1.5rem;\n --sidebar-caption-space-above: 1rem;\n\n --sidebar-item-line-height: 1rem;\n --sidebar-item-spacing-vertical: 0.5rem;\n --sidebar-item-spacing-horizontal: 1rem;\n --sidebar-item-height: calc(\n var(--sidebar-item-line-height) + 2 *#{var(--sidebar-item-spacing-vertical)}\n );\n\n --sidebar-expander-width: var(--sidebar-item-height); // be square\n\n --sidebar-search-space-above: 0.5rem;\n --sidebar-search-input-spacing-vertical: 0.5rem;\n --sidebar-search-input-spacing-horizontal: 0.5rem;\n --sidebar-search-input-height: 1rem;\n --sidebar-search-icon-size: var(--sidebar-search-input-height);\n\n // Table of Contents\n --toc-title-padding: 0.25rem 0;\n --toc-spacing-vertical: 1.5rem;\n --toc-spacing-horizontal: 1.5rem;\n --toc-item-spacing-vertical: 0.4rem;\n --toc-item-spacing-horizontal: 1rem;\n}\n","// Expose theme icons as CSS variables.\n\n$icons: (\n // Adapted from tabler-icons\n // url: https://tablericons.com/\n \"search\":\n url('data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\"/><circle cx=\"10\" cy=\"10\" r=\"7\" /><line x1=\"21\" y1=\"21\" x2=\"15\" y2=\"15\" /></svg>'),\n // Factored out from mkdocs-material on 24-Aug-2020.\n // url: https://squidfunk.github.io/mkdocs-material/reference/admonitions/\n \"pencil\":\n url('data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z\"/></svg>'),\n \"abstract\":\n url('data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 5h16v2H4V5m0 4h16v2H4V9m0 4h16v2H4v-2m0 4h10v2H4v-2z\"/></svg>'),\n \"info\":\n url('data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2z\"/></svg>'),\n \"flame\":\n url('data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M17.55 11.2c-.23-.3-.5-.56-.76-.82-.65-.6-1.4-1.03-2.03-1.66C13.3 7.26 13 4.85 13.91 3c-.91.23-1.75.75-2.45 1.32-2.54 2.08-3.54 5.75-2.34 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.22.1-.46.04-.64-.12a.83.83 0 01-.15-.17c-1.1-1.43-1.28-3.48-.53-5.12C5.89 10 5 12.3 5.14 14.47c.04.5.1 1 .27 1.5.14.6.4 1.2.72 1.73 1.04 1.73 2.87 2.97 4.84 3.22 2.1.27 4.35-.12 5.96-1.6 1.8-1.66 2.45-4.32 1.5-6.6l-.13-.26c-.2-.46-.47-.87-.8-1.25l.05-.01m-3.1 6.3c-.28.24-.73.5-1.08.6-1.1.4-2.2-.16-2.87-.82 1.19-.28 1.89-1.16 2.09-2.05.17-.8-.14-1.46-.27-2.23-.12-.74-.1-1.37.18-2.06.17.38.37.76.6 1.06.76 1 1.95 1.44 2.2 2.8.04.14.06.28.06.43.03.82-.32 1.72-.92 2.27h.01z\"/></svg>'),\n \"question\":\n url('data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M15.07 11.25l-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 00-2-2 2 2 0 00-2 2H8a4 4 0 014-4 4 4 0 014 4 3.2 3.2 0 01-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10c0-5.53-4.5-10-10-10z\"/></svg>'),\n \"warning\":\n url('data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2 1 21z\"/></svg>'),\n \"failure\":\n url('data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12 6.47 2 12 2m3.59 5L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41 15.59 7z\"/></svg>'),\n \"spark\":\n url('data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M11.5 20l4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2z\"/></svg>')\n);\n\n@mixin icons {\n @each $name, $glyph in $icons {\n --icon-#{$name}: #{$glyph};\n }\n}\n","// Admonitions\n\n// Structure of these is:\n// admonition-class: color \"icon-name\";\n//\n// The colors are translated into CSS variables below. The icons are\n// used directly in the main declarations to set the `mask-image` in\n// the title.\n\n// prettier-ignore\n$admonitions: (\n // Each of these has an reST directives for it.\n \"caution\": #ff9100 \"spark\",\n \"warning\": #ff9100 \"warning\",\n \"danger\": #ff5252 \"spark\",\n \"attention\": #ff5252 \"warning\",\n \"error\": #ff5252 \"failure\",\n \"hint\": #00c852 \"question\",\n \"tip\": #00c852 \"info\",\n \"important\": #00bfa5 \"flame\",\n \"note\": #00b0ff \"pencil\",\n \"seealso\": #448aff \"info\",\n \"admonition-todo\": #808080 \"pencil\"\n);\n\n@mixin default-admonition($color, $icon-name) {\n --color-admonition-title: #{$color};\n --color-admonition-title-background: #{rgba($color, 0.2)};\n\n --icon-admonition-default: var(--icon-#{$icon-name});\n}\n\n@mixin default-topic($color, $icon-name) {\n --color-topic-title: #{$color};\n --color-topic-title-background: #{rgba($color, 0.2)};\n\n --icon-topic-default: var(--icon-#{$icon-name});\n}\n\n@mixin admonitions {\n @each $name, $values in $admonitions {\n --color-admonition-title--#{$name}: #{nth($values, 1)};\n --color-admonition-title-background--#{$name}: #{rgba(\n nth($values, 1),\n 0.2\n )};\n }\n}\n","// Colors used throughout this theme.\n//\n// The aim is to give the user more control. Thus, instead of hard-coding colors\n// in various parts of the stylesheet, the approach taken is to define all\n// colors as CSS variables and reusing them in all the places.\n//\n// `colors-dark` depends on `colors` being included at a lower specificity.\n\n@mixin colors {\n --color-problematic: #b30000;\n\n // Base Colors\n --color-foreground-primary: black; // for main text and headings\n --color-foreground-secondary: #5a5c63; // for secondary text\n --color-foreground-muted: #646776; // for muted text\n --color-foreground-border: #878787; // for content borders\n\n --color-background-primary: white; // for content\n --color-background-secondary: #f8f9fb; // for navigation + ToC\n --color-background-hover: #efeff4ff; // for navigation-item hover\n --color-background-hover--transparent: #efeff400;\n --color-background-border: #eeebee; // for UI borders\n --color-background-item: #ccc; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #2962ff;\n --color-brand-content: #2a5adf;\n\n // API documentation\n --color-api-background: var(--color-background-hover--transparent);\n --color-api-background-hover: var(--color-background-hover);\n --color-api-overall: var(--color-foreground-secondary);\n --color-api-name: var(--color-problematic);\n --color-api-pre-name: var(--color-problematic);\n --color-api-paren: var(--color-foreground-secondary);\n --color-api-keyword: var(--color-foreground-primary);\n --color-highlight-on-target: #ffffcc;\n\n // Inline code background\n --color-inline-code-background: var(--color-background-secondary);\n\n // Highlighted text (search)\n --color-highlighted-background: #ddeeff;\n --color-highlighted-text: var(--color-foreground-primary);\n\n // GUI Labels\n --color-guilabel-background: #ddeeff80;\n --color-guilabel-border: #bedaf580;\n --color-guilabel-text: var(--color-foreground-primary);\n\n // Admonitions!\n --color-admonition-background: transparent;\n\n //////////////////////////////////////////////////////////////////////////////\n // Everything below this should be one of:\n // - var(...)\n // - *-gradient(...)\n // - special literal values (eg: transparent, none)\n //////////////////////////////////////////////////////////////////////////////\n\n // Tables\n --color-table-header-background: var(--color-background-secondary);\n --color-table-border: var(--color-background-border);\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: transparent;\n --color-card-marginals-background: var(--color-background-secondary);\n\n // Header\n --color-header-background: var(--color-background-primary);\n --color-header-border: var(--color-background-border);\n --color-header-text: var(--color-foreground-primary);\n\n // Sidebar (left)\n --color-sidebar-background: var(--color-background-secondary);\n --color-sidebar-background-border: var(--color-background-border);\n\n --color-sidebar-brand-text: var(--color-foreground-primary);\n --color-sidebar-caption-text: var(--color-foreground-muted);\n --color-sidebar-link-text: var(--color-foreground-secondary);\n --color-sidebar-link-text--top-level: var(--color-brand-primary);\n\n --color-sidebar-item-background: var(--color-sidebar-background);\n --color-sidebar-item-background--current: var(\n --color-sidebar-item-background\n );\n --color-sidebar-item-background--hover: linear-gradient(\n 90deg,\n var(--color-background-hover--transparent) 0%,\n var(--color-background-hover) var(--sidebar-item-spacing-horizontal),\n var(--color-background-hover) 100%\n );\n\n --color-sidebar-item-expander-background: transparent;\n --color-sidebar-item-expander-background--hover: var(\n --color-background-hover\n );\n\n --color-sidebar-search-text: var(--color-foreground-primary);\n --color-sidebar-search-background: var(--color-background-secondary);\n --color-sidebar-search-background--focus: var(--color-background-primary);\n --color-sidebar-search-border: var(--color-background-border);\n --color-sidebar-search-icon: var(--color-foreground-muted);\n\n // Table of Contents (right)\n --color-toc-background: var(--color-background-primary);\n --color-toc-title-text: var(--color-foreground-muted);\n --color-toc-item-text: var(--color-foreground-secondary);\n --color-toc-item-text--hover: var(--color-foreground-primary);\n --color-toc-item-text--active: var(--color-brand-primary);\n\n // Actual page contents\n --color-content-foreground: var(--color-foreground-primary);\n --color-content-background: transparent;\n\n // Links\n --color-link: var(--color-brand-content);\n --color-link--hover: var(--color-brand-content);\n --color-link-underline: var(--color-background-border);\n --color-link-underline--hover: var(--color-foreground-border);\n}\n\n@mixin colors-dark {\n --color-problematic: #ee5151;\n\n // Base Colors\n --color-foreground-primary: #ffffffcc; // for main text and headings\n --color-foreground-secondary: #9ca0a5; // for secondary text\n --color-foreground-muted: #81868d; // for muted text\n --color-foreground-border: #666666; // for content borders\n\n --color-background-primary: #131416; // for content\n --color-background-secondary: #1a1c1e; // for navigation + ToC\n --color-background-hover: #1e2124ff; // for navigation-item hover\n --color-background-hover--transparent: #1e212400;\n --color-background-border: #303335; // for UI borders\n --color-background-item: #444; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #2b8cee;\n --color-brand-content: #368ce2;\n\n // Highlighted text (search)\n --color-highlighted-background: #083563;\n\n // GUI Labels\n --color-guilabel-background: #08356380;\n --color-guilabel-border: #13395f80;\n\n // API documentation\n --color-api-keyword: var(--color-foreground-secondary);\n --color-highlight-on-target: #333300;\n\n // Admonitions\n --color-admonition-background: #18181a;\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: #18181a;\n --color-card-marginals-background: var(--color-background-hover);\n}\n","// This file contains the styling for making the content throughout the page,\n// including fonts, paragraphs, headings and spacing among these elements.\n\nbody\n font-family: var(--font-stack)\npre,\ncode,\nkbd,\nsamp\n font-family: var(--font-stack--monospace)\n\n// Make fonts look slightly nicer.\nbody\n -webkit-font-smoothing: antialiased\n -moz-osx-font-smoothing: grayscale\n\n// Line height from Bootstrap 4.1\narticle\n line-height: 1.5\n\n//\n// Headings\n//\nh1,\nh2,\nh3,\nh4,\nh5,\nh6\n line-height: 1.25\n font-weight: bold\n\n border-radius: 0.5rem\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n margin-left: -0.5rem\n margin-right: -0.5rem\n padding-left: 0.5rem\n padding-right: 0.5rem\n\n + p\n margin-top: 0\n\nh1\n font-size: 2.5em\n margin-top: 1.75rem\n margin-bottom: 1rem\nh2\n font-size: 2em\n margin-top: 1.75rem\nh3\n font-size: 1.5em\nh4\n font-size: 1.25em\nh5\n font-size: 1.125em\nh6\n font-size: 1em\n\nsmall\n opacity: 75%\n font-size: 80%\n\n// Paragraph\np\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n\n// Horizontal rules\nhr.docutils\n height: 1px\n padding: 0\n margin: 2rem 0\n background-color: var(--color-background-border)\n border: 0\n\n.centered\n text-align: center\n\n// Links\na\n text-decoration: underline\n\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n &:hover\n color: var(--color-link--hover)\n text-decoration-color: var(--color-link-underline--hover)\n &.muted-link\n color: inherit\n &:hover\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline--hover)\n","// This file contains the styles for the overall layouting of the documentation\n// skeleton, including the responsive changes as well as sidebar toggles.\n//\n// This is implemented as a mobile-last design, which isn't ideal, but it is\n// reasonably good-enough and I got pretty tired by the time I'd finished this\n// to move the rules around to fix this. Shouldn't take more than 3-4 hours,\n// if you know what you're doing tho.\n\n// HACK: Not all browsers account for the scrollbar width in media queries.\n// This results in horizontal scrollbars in the breakpoint where we go\n// from displaying everything to hiding the ToC. We accomodate for this by\n// adding a bit of padding to the TOC drawer, disabling the horizontal\n// scrollbar and allowing the scrollbars to cover the padding.\n// https://www.456bereastreet.com/archive/201301/media_query_width_and_vertical_scrollbars/\n\n// HACK: Always having the scrollbar visible, prevents certain browsers from\n// causing the content to stutter horizontally between taller-than-viewport and\n// not-taller-than-viewport pages.\n\nhtml\n overflow-x: hidden\n overflow-y: scroll\n scroll-behavior: smooth\n\n.sidebar-scroll, .toc-scroll, article[role=main] *\n // Override Firefox scrollbar style\n scrollbar-width: thin\n scrollbar-color: var(--color-foreground-border) transparent\n\n // Override Chrome scrollbar styles\n &::-webkit-scrollbar\n width: 0.25rem\n height: 0.25rem\n &::-webkit-scrollbar-thumb\n background-color: var(--color-foreground-border)\n border-radius: 0.125rem\n\n//\n// Overalls\n//\nhtml,\nbody\n height: 100%\n color: var(--color-foreground-primary)\n background: var(--color-background-primary)\n\narticle\n color: var(--color-content-foreground)\n background: var(--color-content-background)\n overflow-wrap: break-word\n\n.page\n display: flex\n // fill the viewport for pages with little content.\n min-height: 100%\n\n.mobile-header\n width: 100%\n height: var(--header-height)\n background-color: var(--color-header-background)\n color: var(--color-header-text)\n border-bottom: 1px solid var(--color-header-border)\n\n // Looks like sub-script/super-script have this, and we need this to\n // be \"on top\" of those.\n z-index: 10\n\n // We don't show the header on large screens.\n display: none\n\n // Add shadow when scrolled\n &.scrolled\n border-bottom: none\n box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2)\n\n .header-center\n a\n color: var(--color-header-text)\n text-decoration: none\n\n.main\n display: flex\n flex: 1\n\n// Sidebar (left) also covers the entire left portion of screen.\n.sidebar-drawer\n box-sizing: border-box\n\n border-right: 1px solid var(--color-sidebar-background-border)\n background: var(--color-sidebar-background)\n\n display: flex\n justify-content: flex-end\n // These next two lines took me two days to figure out.\n width: calc((100% - #{$full-width}) / 2 + #{$sidebar-width})\n min-width: $sidebar-width\n\n// Scroll-along sidebars\n.sidebar-container,\n.toc-drawer\n box-sizing: border-box\n width: $sidebar-width\n\n.toc-drawer\n background: var(--color-toc-background)\n // See HACK described on top of this document\n padding-right: 1rem\n\n.sidebar-sticky,\n.toc-sticky\n position: sticky\n top: 0\n height: min(100%, 100vh)\n height: 100vh\n\n display: flex\n flex-direction: column\n\n.sidebar-scroll,\n.toc-scroll\n flex-grow: 1\n flex-shrink: 1\n\n overflow: auto\n scroll-behavior: smooth\n\n// Central items.\n.content\n padding: 0 $content-padding\n width: $content-width\n\n display: flex\n flex-direction: column\n justify-content: space-between\n\n.icon\n display: inline-block\n height: 1rem\n width: 1rem\n svg\n width: 100%\n height: 100%\n\n//\n// Accommodate announcement banner\n//\n.announcement\n background-color: var(--color-announcement-background)\n color: var(--color-announcement-text)\n\n height: var(--header-height)\n display: flex\n align-items: center\n overflow-x: auto\n & + .page\n min-height: calc(100% - var(--header-height))\n\n.announcement-content\n box-sizing: border-box\n padding: 0.5rem\n min-width: 100%\n white-space: nowrap\n text-align: center\n\n a\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-announcement-text)\n\n &:hover\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-link--hover)\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for theme\n////////////////////////////////////////////////////////////////////////////////\n.no-js .theme-toggle-container // don't show theme toggle if there's no JS\n display: none\n\n.theme-toggle-container\n vertical-align: middle\n\n.theme-toggle\n cursor: pointer\n border: none\n padding: 0\n background: transparent\n\n.theme-toggle svg\n vertical-align: middle\n height: 1rem\n width: 1rem\n color: var(--color-foreground-primary)\n display: none\n\n.theme-toggle-header\n float: left\n padding: 1rem 0.5rem\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for elements\n////////////////////////////////////////////////////////////////////////////////\n.toc-overlay-icon, .nav-overlay-icon\n display: none\n cursor: pointer\n\n .icon\n color: var(--color-foreground-secondary)\n height: 1rem\n width: 1rem\n\n.toc-header-icon, .nav-overlay-icon\n // for when we set display: flex\n justify-content: center\n align-items: center\n\n.toc-content-icon\n height: 1.5rem\n width: 1.5rem\n\n.content-icon-container\n float: right\n display: flex\n margin-top: 1.5rem\n margin-left: 1rem\n margin-bottom: 1rem\n gap: 0.5rem\n\n .edit-this-page svg\n color: inherit\n height: 1rem\n width: 1rem\n\n.sidebar-toggle\n position: absolute\n display: none\n// <debugging things>\n.sidebar-toggle[name=\"__toc\"]\n left: 20px\n.sidebar-toggle:checked\n left: 40px\n// </debugging things>\n\n.overlay\n position: fixed\n top: 0\n width: 0\n height: 0\n\n transition: width 0ms, height 0ms, opacity 250ms ease-out\n\n opacity: 0\n background-color: rgba(0, 0, 0, 0.54)\n.sidebar-overlay\n z-index: 20\n.toc-overlay\n z-index: 40\n\n// Keep things on top and smooth.\n.sidebar-drawer\n z-index: 30\n transition: left 250ms ease-in-out\n.toc-drawer\n z-index: 50\n transition: right 250ms ease-in-out\n\n// Show the Sidebar\n#__navigation:checked\n & ~ .sidebar-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .sidebar-drawer\n top: 0\n left: 0\n // Show the toc sidebar\n#__toc:checked\n & ~ .toc-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .toc-drawer\n top: 0\n right: 0\n\n////////////////////////////////////////////////////////////////////////////////\n// Back to top\n////////////////////////////////////////////////////////////////////////////////\n.back-to-top\n text-decoration: none\n\n display: none\n position: fixed\n left: 0\n top: 1rem\n padding: 0.5rem\n padding-right: 0.75rem\n border-radius: 1rem\n font-size: 0.8125rem\n\n background: var(--color-background-primary)\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), #6b728080 0px 0px 1px 0px\n\n z-index: 10\n\n margin-left: 50%\n transform: translateX(-50%)\n svg\n height: 1rem\n width: 1rem\n fill: currentColor\n display: inline-block\n\n span\n margin-left: 0.25rem\n\n .show-back-to-top &\n display: flex\n align-items: center\n\n////////////////////////////////////////////////////////////////////////////////\n// Responsive layouting\n////////////////////////////////////////////////////////////////////////////////\n// Make things a bit bigger on bigger screens.\n@media (min-width: $full-width + $sidebar-width)\n html\n font-size: 110%\n\n@media (max-width: $full-width)\n // Collapse \"toc\" into the icon.\n .toc-content-icon\n display: flex\n .toc-drawer\n position: fixed\n height: 100vh\n top: 0\n right: -$sidebar-width\n border-left: 1px solid var(--color-background-muted)\n .toc-tree\n border-left: none\n font-size: var(--toc-font-size--mobile)\n\n // Accomodate for a changed content width.\n .sidebar-drawer\n width: calc((100% - #{$full-width - $sidebar-width}) / 2 + #{$sidebar-width})\n\n@media (max-width: $full-width - $sidebar-width)\n // Collapse \"navigation\".\n .nav-overlay-icon\n display: flex\n .sidebar-drawer\n position: fixed\n height: 100vh\n width: $sidebar-width\n\n top: 0\n left: -$sidebar-width\n\n // Swap which icon is visible.\n .toc-header-icon\n display: flex\n .toc-content-icon, .theme-toggle-content\n display: none\n .theme-toggle-header\n display: block\n\n // Show the header.\n .mobile-header\n position: sticky\n top: 0\n display: flex\n justify-content: space-between\n align-items: center\n\n .header-left,\n .header-right\n display: flex\n height: var(--header-height)\n padding: 0 var(--header-padding)\n label\n height: 100%\n width: 100%\n user-select: none\n\n .nav-overlay-icon .icon,\n .theme-toggle svg\n height: 1.25rem\n width: 1.25rem\n\n // Add a scroll margin for the content\n :target\n scroll-margin-top: var(--header-height)\n\n // Show back-to-top below the header\n .back-to-top\n top: calc(var(--header-height) + 0.5rem)\n\n // Center the page, and accommodate for the header.\n .page\n flex-direction: column\n justify-content: center\n .content\n margin-left: auto\n margin-right: auto\n\n@media (max-width: $content-width + 2* $content-padding)\n // Content should respect window limits.\n .content\n width: 100%\n overflow-x: auto\n\n@media (max-width: $content-width)\n .content\n padding: 0 $content-padding--small\n // Don't float sidebars to the right.\n article aside.sidebar\n float: none\n width: 100%\n margin: 1rem 0\n","//\n// The design here is strongly inspired by mkdocs-material.\n.admonition, .topic\n margin: 1rem auto\n padding: 0 0.5rem 0.5rem 0.5rem\n\n background: var(--color-admonition-background)\n\n border-radius: 0.2rem\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n font-size: var(--admonition-font-size)\n\n overflow: hidden\n page-break-inside: avoid\n\n // First element should have no margin, since the title has it.\n > :nth-child(2)\n margin-top: 0\n\n // Last item should have no margin, since we'll control that w/ padding\n > :last-child\n margin-bottom: 0\n\n.admonition p.admonition-title,\np.topic-title\n position: relative\n margin: 0 -0.5rem 0.5rem\n padding-left: 2rem\n padding-right: .5rem\n padding-top: .4rem\n padding-bottom: .4rem\n\n font-weight: 500\n font-size: var(--admonition-title-font-size)\n line-height: 1.3\n\n // Our fancy icon\n &::before\n content: \"\"\n position: absolute\n left: 0.5rem\n width: 1rem\n height: 1rem\n\n// Default styles\np.admonition-title\n background-color: var(--color-admonition-title-background)\n &::before\n background-color: var(--color-admonition-title)\n mask-image: var(--icon-admonition-default)\n mask-repeat: no-repeat\n\np.topic-title\n background-color: var(--color-topic-title-background)\n &::before\n background-color: var(--color-topic-title)\n mask-image: var(--icon-topic-default)\n mask-repeat: no-repeat\n\n//\n// Variants\n//\n.admonition\n border-left: 0.2rem solid var(--color-admonition-title)\n\n @each $type, $value in $admonitions\n &.#{$type}\n border-left-color: var(--color-admonition-title--#{$type})\n > .admonition-title\n background-color: var(--color-admonition-title-background--#{$type})\n &::before\n background-color: var(--color-admonition-title--#{$type})\n mask-image: var(--icon-#{nth($value, 2)})\n\n.admonition-todo > .admonition-title\n text-transform: uppercase\n","// This file stylizes the API documentation (stuff generated by autodoc). It's\n// deeply nested due to how autodoc structures the HTML without enough classes\n// to select the relevant items.\n\n// API docs!\ndl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)\n // Tweak the spacing of all the things!\n dd\n margin-left: 2rem\n > :first-child\n margin-top: 0.125rem\n > :last-child\n margin-bottom: 0.75rem\n\n // This is used for the arguments\n .field-list\n margin-bottom: 0.75rem\n\n // \"Headings\" (like \"Parameters\" and \"Return\")\n > dt\n text-transform: uppercase\n font-size: var(--font-size--small)\n\n dd:empty\n margin-bottom: 0.5rem\n dd > ul\n margin-left: -1.2rem\n > li\n > p:nth-child(2)\n margin-top: 0\n // When the last-empty-paragraph follows a paragraph, it doesn't need\n // to augument the existing spacing.\n > p + p:last-child:empty\n margin-top: 0\n margin-bottom: 0\n\n // Colorize the elements\n > dt\n color: var(--color-api-overall)\n\n.sig:not(.sig-inline)\n font-weight: bold\n\n font-size: var(--api-font-size)\n font-family: var(--font-stack--monospace)\n\n margin-left: -0.25rem\n margin-right: -0.25rem\n padding-top: 0.25rem\n padding-bottom: 0.25rem\n padding-right: 0.5rem\n\n // These are intentionally em, to properly match the font size.\n padding-left: 3em\n text-indent: -2.5em\n\n border-radius: 0.25rem\n\n background: var(--color-api-background)\n transition: background 100ms ease-out\n\n &:hover\n background: var(--color-api-background-hover)\n\n // adjust the size of the [source] link on the right.\n a.reference\n .viewcode-link\n font-weight: normal\n width: 3.5rem\n\nem.property\n font-style: normal\n &:first-child\n color: var(--color-api-keyword)\n.sig-name\n color: var(--color-api-name)\n.sig-prename\n font-weight: normal\n color: var(--color-api-pre-name)\n.sig-paren\n color: var(--color-api-paren)\n.sig-param\n font-style: normal\n\n.versionmodified\n font-style: italic\ndiv.versionadded, div.versionchanged, div.deprecated\n p\n margin-top: 0.125rem\n margin-bottom: 0.125rem\n\n// Align the [docs] and [source] to the right.\n.viewcode-link, .viewcode-back\n float: right\n text-align: right\n",".line-block\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n .line-block\n margin-top: 0rem\n margin-bottom: 0rem\n padding-left: 1rem\n","// Captions\narticle p.caption,\ntable > caption,\n.code-block-caption\n font-size: var(--font-size--small)\n text-align: center\n\n// Caption above a TOCTree\n.toctree-wrapper.compound\n .caption, :not(.caption) > .caption-text\n font-size: var(--font-size--small)\n text-transform: uppercase\n\n text-align: initial\n margin-bottom: 0\n\n > ul\n margin-top: 0\n margin-bottom: 0\n","// Inline code\ncode.literal, .sig-inline\n background: var(--color-inline-code-background)\n border-radius: 0.2em\n // Make the font smaller, and use padding to recover.\n font-size: var(--font-size--small--2)\n padding: 0.1em 0.2em\n\n pre.literal-block &\n font-size: inherit\n padding: 0\n\n p &\n border: 1px solid var(--color-background-border)\n\n.sig-inline\n font-family: var(--font-stack--monospace)\n\n// Code and Literal Blocks\n$code-spacing-vertical: 0.625rem\n$code-spacing-horizontal: 0.875rem\n\n// Wraps every literal block + line numbers.\ndiv[class*=\" highlight-\"],\ndiv[class^=\"highlight-\"]\n margin: 1em 0\n display: flex\n\n .table-wrapper\n margin: 0\n padding: 0\n\npre\n margin: 0\n padding: 0\n overflow: auto\n\n // Needed to have more specificity than pygments' \"pre\" selector. :(\n article[role=\"main\"] .highlight &\n line-height: 1.5\n\n &.literal-block,\n .highlight &\n font-size: var(--code-font-size)\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n // Make it look like all the other blocks.\n &.literal-block\n margin-top: 1rem\n margin-bottom: 1rem\n\n border-radius: 0.2rem\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n\n// All code is always contained in this.\n.highlight\n width: 100%\n border-radius: 0.2rem\n\n // Make line numbers and prompts un-selectable.\n .gp, span.linenos\n user-select: none\n pointer-events: none\n\n // Expand the line-highlighting.\n .hll\n display: block\n margin-left: -$code-spacing-horizontal\n margin-right: -$code-spacing-horizontal\n padding-left: $code-spacing-horizontal\n padding-right: $code-spacing-horizontal\n\n/* Make code block captions be nicely integrated */\n.code-block-caption\n display: flex\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n border-radius: 0.25rem\n border-bottom-left-radius: 0\n border-bottom-right-radius: 0\n font-weight: 300\n border-bottom: 1px solid\n\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n border-color: var(--color-background-border)\n\n + div[class]\n margin-top: 0\n pre\n border-top-left-radius: 0\n border-top-right-radius: 0\n\n// When `html_codeblock_linenos_style` is table.\n.highlighttable\n width: 100%\n display: block\n tbody\n display: block\n\n tr\n display: flex\n\n // Line numbers\n td.linenos\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n padding: $code-spacing-vertical $code-spacing-horizontal\n padding-right: 0\n border-top-left-radius: 0.2rem\n border-bottom-left-radius: 0.2rem\n\n .linenodiv\n padding-right: $code-spacing-horizontal\n font-size: var(--code-font-size)\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n\n // Actual code\n td.code\n padding: 0\n display: block\n flex: 1\n overflow: hidden\n\n .highlight\n border-top-left-radius: 0\n border-bottom-left-radius: 0\n\n// When `html_codeblock_linenos_style` is inline.\n.highlight\n span.linenos\n display: inline-block\n padding-left: 0\n padding-right: $code-spacing-horizontal\n margin-right: $code-spacing-horizontal\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n","// Inline Footnote Reference\n.footnote-reference\n font-size: var(--font-size--small--4)\n vertical-align: super\n\n// Definition list, listing the content of each note.\n// docutils <= 0.17\ndl.footnote.brackets\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\n display: grid\n grid-template-columns: max-content auto\n dt\n margin: 0\n > .fn-backref\n margin-left: 0.25rem\n\n &:after\n content: \":\"\n\n .brackets\n &:before\n content: \"[\"\n &:after\n content: \"]\"\n\n dd\n margin: 0\n padding: 0 1rem\n\n// docutils >= 0.18\naside.footnote\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\naside.footnote > span,\ndiv.citation > span\n float: left\n font-weight: 500\n padding-right: 0.25rem\n\naside.footnote > p,\ndiv.citation > p\n margin-left: 2rem\n","//\n// Figures\n//\nimg\n box-sizing: border-box\n max-width: 100%\n height: auto\n\narticle\n figure, .figure\n border-radius: 0.2rem\n\n margin: 0\n :last-child\n margin-bottom: 0\n\n .align-left\n float: left\n clear: left\n margin: 0 1rem 1rem\n\n .align-right\n float: right\n clear: right\n margin: 0 1rem 1rem\n\n .align-default,\n .align-center\n display: block\n text-align: center\n margin-left: auto\n margin-right: auto\n\n // WELL, table needs to be stylised like a table.\n table.align-default\n display: table\n text-align: initial\n",".genindex-jumpbox, .domainindex-jumpbox\n border-top: 1px solid var(--color-background-border)\n border-bottom: 1px solid var(--color-background-border)\n padding: 0.25rem\n\n.genindex-section, .domainindex-section\n h2\n margin-top: 0.75rem\n margin-bottom: 0.5rem\n ul\n margin-top: 0\n margin-bottom: 0\n","ul,\nol\n padding-left: 1.2rem\n\n // Space lists out like paragraphs\n margin-top: 1rem\n margin-bottom: 1rem\n // reduce margins within li.\n li\n > p:first-child\n margin-top: 0.25rem\n margin-bottom: 0.25rem\n\n > p:last-child\n margin-top: 0.25rem\n\n > ul,\n > ol\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n\nol\n &.arabic\n list-style: decimal\n &.loweralpha\n list-style: lower-alpha\n &.upperalpha\n list-style: upper-alpha\n &.lowerroman\n list-style: lower-roman\n &.upperroman\n list-style: upper-roman\n\n// Don't space lists out when they're \"simple\" or in a `.. toctree::`\n.simple,\n.toctree-wrapper\n li\n > ul,\n > ol\n margin-top: 0\n margin-bottom: 0\n\n// Definition Lists\n.field-list,\n.option-list,\ndl:not([class]),\ndl.simple,\ndl.footnote,\ndl.glossary\n dt\n font-weight: 500\n margin-top: 0.25rem\n + dt\n margin-top: 0\n\n .classifier::before\n content: \":\"\n margin-left: 0.2rem\n margin-right: 0.2rem\n\n dd\n > p:first-child,\n ul\n margin-top: 0.125rem\n\n ul\n margin-bottom: 0.125rem\n",".math-wrapper\n width: 100%\n overflow-x: auto\n\ndiv.math\n position: relative\n text-align: center\n\n .headerlink,\n &:focus .headerlink\n display: none\n\n &:hover .headerlink\n display: inline-block\n\n span.eqno\n position: absolute\n right: 0.5rem\n top: 50%\n transform: translate(0, -50%)\n z-index: 1\n","// Abbreviations\nabbr[title]\n cursor: help\n\n// \"Problematic\" content, as identified by Sphinx\n.problematic\n color: var(--color-problematic)\n\n// Keyboard / Mouse \"instructions\"\nkbd:not(.compound)\n margin: 0 0.2rem\n padding: 0 0.2rem\n border-radius: 0.2rem\n border: 1px solid var(--color-foreground-border)\n color: var(--color-foreground-primary)\n vertical-align: text-bottom\n\n font-size: var(--font-size--small--3)\n display: inline-block\n\n box-shadow: 0 0.0625rem 0 rgba(0, 0, 0, 0.2), inset 0 0 0 0.125rem var(--color-background-primary)\n\n background-color: var(--color-background-secondary)\n\n// Blockquote\nblockquote\n border-left: 4px solid var(--color-background-border)\n background: var(--color-background-secondary)\n\n margin-left: 0\n margin-right: 0\n padding: 0.5rem 1rem\n\n .attribution\n font-weight: 600\n text-align: right\n\n &.pull-quote,\n &.highlights\n font-size: 1.25em\n\n &.epigraph,\n &.pull-quote\n border-left-width: 0\n border-radius: 0.5rem\n\n &.highlights\n border-left-width: 0\n background: transparent\n\n// Center align embedded-in-text images\np .reference img\n vertical-align: middle\n","p.rubric\n line-height: 1.25\n font-weight: bold\n font-size: 1.125em\n\n // For Numpy-style documentation that's got rubrics within it.\n // https://github.com/pradyunsg/furo/discussions/505\n dd &\n line-height: inherit\n font-weight: inherit\n\n font-size: var(--font-size--small)\n text-transform: uppercase\n","article .sidebar\n float: right\n clear: right\n width: 30%\n\n margin-left: 1rem\n margin-right: 0\n\n border-radius: 0.2rem\n background-color: var(--color-background-secondary)\n border: var(--color-background-border) 1px solid\n\n > *\n padding-left: 1rem\n padding-right: 1rem\n\n > ul, > ol // lists need additional padding, because bullets.\n padding-left: 2.2rem\n\n .sidebar-title\n margin: 0\n padding: 0.5rem 1rem\n border-bottom: var(--color-background-border) 1px solid\n\n font-weight: 500\n\n// TODO: subtitle\n// TODO: dedicated variables?\n",".table-wrapper\n width: 100%\n overflow-x: auto\n margin-top: 1rem\n margin-bottom: 0.5rem\n padding: 0.2rem 0.2rem 0.75rem\n\ntable.docutils\n border-radius: 0.2rem\n border-spacing: 0\n border-collapse: collapse\n\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n th\n background: var(--color-table-header-background)\n\n td,\n th\n // Space things out properly\n padding: 0 0.25rem\n\n // Get the borders looking just-right.\n border-left: 1px solid var(--color-table-border)\n border-right: 1px solid var(--color-table-border)\n border-bottom: 1px solid var(--color-table-border)\n\n p\n margin: 0.25rem\n\n &:first-child\n border-left: none\n &:last-child\n border-right: none\n\n // MyST-parser tables set these classes for control of column alignment\n &.text-left\n text-align: left\n &.text-right\n text-align: right\n &.text-center\n text-align: center\n",":target\n scroll-margin-top: 0.5rem\n\n@media (max-width: $full-width - $sidebar-width)\n :target\n scroll-margin-top: calc(0.5rem + var(--header-height))\n\n // When a heading is selected\n section > span:target\n scroll-margin-top: calc(0.8rem + var(--header-height))\n\n// Permalinks\n.headerlink\n font-weight: 100\n user-select: none\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\ndl dt,\np.caption,\nfigcaption p,\ntable > caption,\n.code-block-caption\n > .headerlink\n margin-left: 0.5rem\n visibility: hidden\n &:hover > .headerlink\n visibility: visible\n\n // Don't change to link-like, if someone adds the contents directive.\n > .toc-backref\n color: inherit\n text-decoration-line: none\n\n// Figure and table captions are special.\nfigure:hover > figcaption > p > .headerlink,\ntable:hover > caption > .headerlink\n visibility: visible\n\n:target >, // Regular section[id] style anchors\nspan:target ~ // Non-regular span[id] style \"extra\" anchors\n h1,\n h2,\n h3,\n h4,\n h5,\n h6\n &:nth-of-type(1)\n background-color: var(--color-highlight-on-target)\n // .headerlink\n // visibility: visible\n code.literal\n background-color: transparent\n\ntable:target > caption,\nfigure:target\n background-color: var(--color-highlight-on-target)\n\n// Inline page contents\n.this-will-duplicate-information-and-it-is-still-useful-here li :target\n background-color: var(--color-highlight-on-target)\n\n// Code block permalinks\n.literal-block-wrapper:target .code-block-caption\n background-color: var(--color-highlight-on-target)\n\n// When a definition list item is selected\n//\n// There isn't really an alternative to !important here, due to the\n// high-specificity of API documentation's selector.\ndt:target\n background-color: var(--color-highlight-on-target) !important\n\n// When a footnote reference is selected\n.footnote > dt:target + dd,\n.footnote-reference:target\n background-color: var(--color-highlight-on-target)\n",".guilabel\n background-color: var(--color-guilabel-background)\n border: 1px solid var(--color-guilabel-border)\n color: var(--color-guilabel-text)\n\n padding: 0 0.3em\n border-radius: 0.5em\n font-size: 0.9em\n","// This file contains the styles used for stylizing the footer that's shown\n// below the content.\n\nfooter\n font-size: var(--font-size--small)\n display: flex\n flex-direction: column\n\n margin-top: 2rem\n\n// Bottom of page information\n.bottom-of-page\n display: flex\n align-items: center\n justify-content: space-between\n\n margin-top: 1rem\n padding-top: 1rem\n padding-bottom: 1rem\n\n color: var(--color-foreground-secondary)\n border-top: 1px solid var(--color-background-border)\n\n line-height: 1.5\n\n @media (max-width: $content-width)\n text-align: center\n flex-direction: column-reverse\n gap: 0.25rem\n\n .left-details\n font-size: var(--font-size--small)\n\n .right-details\n display: flex\n flex-direction: column\n gap: 0.25rem\n text-align: right\n\n .icons\n display: flex\n justify-content: flex-end\n gap: 0.25rem\n font-size: 1rem\n\n a\n text-decoration: none\n\n svg,\n img\n font-size: 1.125rem\n height: 1em\n width: 1em\n\n// Next/Prev page information\n.related-pages\n a\n display: flex\n align-items: center\n\n text-decoration: none\n &:hover .page-info .title\n text-decoration: underline\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n svg.furo-related-icon,\n svg.furo-related-icon > use\n flex-shrink: 0\n\n color: var(--color-foreground-border)\n\n width: 0.75rem\n height: 0.75rem\n margin: 0 0.5rem\n\n &.next-page\n max-width: 50%\n\n float: right\n clear: right\n text-align: right\n\n &.prev-page\n max-width: 50%\n\n float: left\n clear: left\n\n svg\n transform: rotate(180deg)\n\n.page-info\n display: flex\n flex-direction: column\n overflow-wrap: anywhere\n\n .next-page &\n align-items: flex-end\n\n .context\n display: flex\n align-items: center\n\n padding-bottom: 0.1rem\n\n color: var(--color-foreground-muted)\n font-size: var(--font-size--small)\n text-decoration: none\n","// This file contains the styles for the contents of the left sidebar, which\n// contains the navigation tree, logo, search etc.\n\n////////////////////////////////////////////////////////////////////////////////\n// Brand on top of the scrollable tree.\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-brand\n display: flex\n flex-direction: column\n flex-shrink: 0\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n text-decoration: none\n\n.sidebar-brand-text\n color: var(--color-sidebar-brand-text)\n overflow-wrap: break-word\n margin: var(--sidebar-item-spacing-vertical) 0\n font-size: 1.5rem\n\n.sidebar-logo-container\n margin: var(--sidebar-item-spacing-vertical) 0\n\n.sidebar-logo\n margin: 0 auto\n display: block\n max-width: 100%\n\n////////////////////////////////////////////////////////////////////////////////\n// Search\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-search-container\n display: flex\n align-items: center\n margin-top: var(--sidebar-search-space-above)\n\n position: relative\n\n background: var(--color-sidebar-search-background)\n &:hover,\n &:focus-within\n background: var(--color-sidebar-search-background--focus)\n\n &::before\n content: \"\"\n position: absolute\n left: var(--sidebar-item-spacing-horizontal)\n width: var(--sidebar-search-icon-size)\n height: var(--sidebar-search-icon-size)\n\n background-color: var(--color-sidebar-search-icon)\n mask-image: var(--icon-search)\n\n.sidebar-search\n box-sizing: border-box\n\n border: none\n border-top: 1px solid var(--color-sidebar-search-border)\n border-bottom: 1px solid var(--color-sidebar-search-border)\n\n padding-top: var(--sidebar-search-input-spacing-vertical)\n padding-bottom: var(--sidebar-search-input-spacing-vertical)\n padding-right: var(--sidebar-search-input-spacing-horizontal)\n padding-left: calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size))\n\n width: 100%\n\n color: var(--color-sidebar-search-foreground)\n background: transparent\n z-index: 10\n\n &:focus\n outline: none\n\n &::placeholder\n font-size: var(--sidebar-search-input-font-size)\n\n//\n// Hide Search Matches link\n//\n#searchbox .highlight-link\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0\n margin: 0\n text-align: center\n\n a\n color: var(--color-sidebar-search-icon)\n font-size: var(--font-size--small--2)\n\n////////////////////////////////////////////////////////////////////////////////\n// Structure/Skeleton of the navigation tree (left)\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-tree\n font-size: var(--sidebar-item-font-size)\n margin-top: var(--sidebar-tree-space-above)\n margin-bottom: var(--sidebar-item-spacing-vertical)\n\n ul\n padding: 0\n margin-top: 0\n margin-bottom: 0\n\n display: flex\n flex-direction: column\n\n list-style: none\n\n li\n position: relative\n margin: 0\n\n > ul\n margin-left: var(--sidebar-item-spacing-horizontal)\n\n .icon\n color: var(--color-sidebar-link-text)\n\n .reference\n box-sizing: border-box\n color: var(--color-sidebar-link-text)\n\n // Fill the parent.\n display: inline-block\n line-height: var(--sidebar-item-line-height)\n text-decoration: none\n\n // Don't allow long words to cause wrapping.\n overflow-wrap: anywhere\n\n height: 100%\n width: 100%\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n &:hover\n background: var(--color-sidebar-item-background--hover)\n\n // Add a nice little \"external-link\" arrow here.\n &.external::after\n content: url('data:image/svg+xml,<svg width=\"12\" height=\"12\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"%23607D8B\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\"/><path d=\"M11 7h-5a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-5\" /><line x1=\"10\" y1=\"14\" x2=\"20\" y2=\"4\" /><polyline points=\"15 4 20 4 20 9\" /></svg>')\n margin: 0 0.25rem\n vertical-align: middle\n color: var(--color-sidebar-link-text)\n\n // Make the current page reference bold.\n .current-page > .reference\n font-weight: bold\n\n label\n position: absolute\n top: 0\n right: 0\n height: var(--sidebar-item-height)\n width: var(--sidebar-expander-width)\n\n cursor: pointer\n user-select: none\n\n display: flex\n justify-content: center\n align-items: center\n\n .caption, :not(.caption) > .caption-text\n font-size: var(--sidebar-caption-font-size)\n color: var(--color-sidebar-caption-text)\n\n font-weight: bold\n text-transform: uppercase\n\n margin: var(--sidebar-caption-space-above) 0 0 0\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n // If it has children, add a bit more padding to wrap the content to avoid\n // overlapping with the <label>\n li.has-children\n > .reference\n padding-right: var(--sidebar-expander-width)\n\n // Colorize the top-level list items and icon.\n .toctree-l1\n & > .reference,\n & > label .icon\n color: var(--color-sidebar-link-text--top-level)\n\n // Color changes on hover\n label\n background: var(--color-sidebar-item-expander-background)\n &:hover\n background: var(--color-sidebar-item-expander-background--hover)\n\n .current > .reference\n background: var(--color-sidebar-item-background--current)\n &:hover\n background: var(--color-sidebar-item-background--hover)\n\n.toctree-checkbox\n position: absolute\n display: none\n\n////////////////////////////////////////////////////////////////////////////////\n// Togglable expand/collapse\n////////////////////////////////////////////////////////////////////////////////\n.toctree-checkbox\n ~ ul\n display: none\n\n ~ label .icon svg\n transform: rotate(90deg)\n\n.toctree-checkbox:checked\n ~ ul\n display: block\n\n ~ label .icon svg\n transform: rotate(-90deg)\n","// This file contains the styles for the contents of the right sidebar, which\n// contains the table of contents for the current page.\n.toc-title-container\n padding: var(--toc-title-padding)\n padding-top: var(--toc-spacing-vertical)\n\n.toc-title\n color: var(--color-toc-title-text)\n font-size: var(--toc-title-font-size)\n padding-left: var(--toc-spacing-horizontal)\n text-transform: uppercase\n\n// If the ToC is not present, hide these elements coz they're not relevant.\n.no-toc\n display: none\n\n.toc-tree-container\n padding-bottom: var(--toc-spacing-vertical)\n\n.toc-tree\n font-size: var(--toc-font-size)\n line-height: 1.3\n border-left: 1px solid var(--color-background-border)\n\n padding-left: calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))\n\n // Hide the first \"top level\" bullet.\n > ul > li:first-child\n padding-top: 0\n & > ul\n padding-left: 0\n & > a\n display: none\n\n ul\n list-style-type: none\n margin-top: 0\n margin-bottom: 0\n padding-left: var(--toc-item-spacing-horizontal)\n li\n padding-top: var(--toc-item-spacing-vertical)\n\n &.scroll-current >.reference\n color: var(--color-toc-item-text--active)\n font-weight: bold\n\n .reference\n color: var(--color-toc-item-text)\n text-decoration: none\n overflow-wrap: anywhere\n\n.toc-scroll\n max-height: 100vh\n overflow-y: scroll\n\n// Be very annoying when someone includes the table of contents\n.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here)\n color: var(--color-problematic)\n background: rgba(255, 0, 0, 0.25)\n &::before\n content: \"ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling.Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch.\"\n","// Shameful hacks, to work around bugs.\n\n// MyST parser doesn't correctly generate classes, to align table contents.\n// https://github.com/executablebooks/MyST-Parser/issues/412\n.text-align\\:left > p\n text-align: left\n\n.text-align\\:center > p\n text-align: center\n\n.text-align\\:right > p\n text-align: right\n"],"names":[],"sourceRoot":""} \ No newline at end of file
diff --git a/v11.0.1/changelog.html b/v11.0.1/changelog.html
new file mode 100644
index 00000000..c623ae30
--- /dev/null
+++ b/v11.0.1/changelog.html
@@ -0,0 +1,810 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="./">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="prev" title="Local Development &amp; Testing" href="development.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>Changelog - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul>
+<li class="toctree-l1 has-children"><a class="reference internal" href="output/pydis_core.html">Pydis Core</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 has-children"><a class="reference internal" href="output/pydis_core.utils.html">Utils</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l3 has-children"><a class="reference internal" href="output/pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../main/changelog.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.2/changelog.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.1/changelog.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.0/changelog.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.8.0/changelog.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.7.0/changelog.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.6.0/changelog.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.5.1/changelog.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.5.0/changelog.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.4.1/changelog.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.4.0/changelog.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.3.0/changelog.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.2.0/changelog.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.10.0-alpha.2/changelog.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.10.0-alpha.1/changelog.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.1.1/changelog.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.0.0/changelog.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.7.0/changelog.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.6.0/changelog.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.5.1/changelog.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.5.0/changelog.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.4.0/changelog.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.3.0/changelog.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.2.0/changelog.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.1.0/changelog.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.0.0/changelog.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="changelog">
+<h1>Changelog<a class="headerlink" href="#changelog" title="Link to this heading">#</a></h1>
+<section id="11.0.1">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v11.0.1">11.0.1</a> <span style="font-size: 75%;">20th March 2024</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/209">#209</a><span>:</span> Extract original error from <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.CommandInvokeError" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.ext.commands.errors.CommandInvokeError</span></code></a> before handling it.</p></li>
+</ul>
+</section>
+<section id="11.0.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v11.0.0">11.0.0</a> <span style="font-size: 75%;">18th March 2024</span></h2><ul class="simple">
+<li><p>[<span style="color: #F50F10;">Breaking</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/207">#207</a><span>:</span> Enable more ruff linting rules. See <a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v11.0.0"><code class="docutils literal notranslate"><span class="pre">GitHub</span> <span class="pre">release</span> <span class="pre">notes</span></code></a> for breaking changes.</p></li>
+<li><p>[<span style="color: #F50F10;">Breaking</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/208">#208</a><span>:</span> Drop support for Pydantic 1.X</p></li>
+<li><p>[<span style="color: #F50F10;">Breaking</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/208">#208</a><span>:</span> Drop support for Python 3.10</p></li>
+<li><p>[<span style="color: #F50F10;">Breaking</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/208">#208</a><span>:</span> Split <code class="docutils literal notranslate"><span class="pre">fakeredis</span></code> optional dependency from the <code class="docutils literal notranslate"><span class="pre">async-rediscache</span></code> extra. You can now install with <code class="docutils literal notranslate"><span class="pre">[fakeredis]</span></code> to just install fakeredis (with lua support), <code class="docutils literal notranslate"><span class="pre">[async-rediscache]</span></code> to install just <code class="docutils literal notranslate"><span class="pre">async-rediscache</span></code>, or use either <code class="docutils literal notranslate"><span class="pre">[all]</span></code> or <code class="docutils literal notranslate"><span class="pre">[async-rediscache,fakeredis]</span></code> to install both. This allows users who do no rely on fakeredis to install in 3.12 environments.</p></li>
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/205">#205</a><span>:</span> Add <a class="reference internal" href="output/pydis_core.utils.error_handling.commands.abc.html#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler" title="pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler</span></code></a> and <a class="reference internal" href="output/pydis_core.utils.error_handling.commands.manager.html#pydis_core.utils.error_handling.commands.manager.CommandErrorManager" title="pydis_core.utils.error_handling.commands.manager.CommandErrorManager"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.error_handling.commands.manager.CommandErrorManager</span></code></a> to implement and register command error handlers independantly.</p></li>
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/204">#204</a><span>:</span> Document the instance attributes of <a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase" title="pydis_core.BotBase"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.BotBase</span></code></a>.</p></li>
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/206">#206</a><span>:</span> Bump ruff from 0.1.15 to 0.2.2, using the new lint config namespace, and linting with the new rules.</p></li>
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/208">#208</a><span>:</span> Bump ruff to 0.3.0 and target Python 3.11 now that 3.10 isn’t supported.</p></li>
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/208">#208</a><span>:</span> Add support for Python 3.12. Be aware, at time of writing, our usage of fakeredis does not currently support 3.12. This is due to <a class="reference external" href="ssue&lt;https://github.com/scoder/lupa/issues/245"><code class="docutils literal notranslate"><span class="pre">this</span> <span class="pre">lupa</span></code></a>. Lupa is required by async-rediscache for lua script support within fakeredis. As such, fakeredis can not be installed in a Python 3.12 environment.</p></li>
+</ul>
+</section>
+<section id="10.7.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v10.7.0">10.7.0</a> <span style="font-size: 75%;">30th January 2024</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/194">#194</a><span>:</span> Add the <a class="reference internal" href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.user_has_access" title="pydis_core.utils.interactions.user_has_access"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.interactions.user_has_access</span></code></a> helper function, that returns whether the given user is in the allowed_users list, or has a role from allowed_roles.</p></li>
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/158">#158</a><span>:</span> Add locking utilities for controlling concurrency logic</p></li>
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/202">#202</a><span>:</span> Bump various development dependencies and CI workflow action versions</p></li>
+</ul>
+</section>
+<section id="10.6.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v10.6.0">10.6.0</a> <span style="font-size: 75%;">30th January 2024</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/199">#199</a><span>:</span> Port common discord.commands checks from other bots to <a class="reference internal" href="output/pydis_core.utils.checks.html#module-pydis_core.utils.checks" title="pydis_core.utils.checks"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.checks</span></code></a>.</p></li>
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/189">#189</a><span>:</span> Add <a class="reference internal" href="output/pydis_core.utils.messages.html#pydis_core.utils.messages.reaction_check" title="pydis_core.utils.messages.reaction_check"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.messages.reaction_check</span></code></a>, a predicate that dictates whether a user has the right to add a specific set of reactions based on certain criteria.</p></li>
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/189">#189</a><span>:</span> Add <a class="reference internal" href="output/pydis_core.utils.pagination.html#pydis_core.utils.pagination.LinePaginator" title="pydis_core.utils.pagination.LinePaginator"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.pagination.LinePaginator</span></code></a> which allows users to paginate over content using Embeds, with emoji reactions facilitating navigation.</p></li>
+</ul>
+</section>
+<section id="10.5.1">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v10.5.1">10.5.1</a> <span style="font-size: 75%;">14th December 2023</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/200">#200</a><span>:</span> Do not attempt to read response body if the HTTP response code is 204. Previously only <a class="reference internal" href="output/pydis_core.site_api.html#pydis_core.site_api.APIClient.delete" title="pydis_core.site_api.APIClient.delete"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.site_api.APIClient.delete</span></code></a> did this.</p></li>
+</ul>
+</section>
+<section id="10.5.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v10.5.0">10.5.0</a> <span style="font-size: 75%;">10th December 2023</span></h2><ul class="simple">
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/197">#197</a><span>:</span> Mark dependencies using tilde version specifiers. This is to allow user of pydis core to use newer versions of these libraries without us having to cut a new release.</p></li>
+</ul>
+</section>
+<section id="10.4.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v10.4.0">10.4.0</a> <span style="font-size: 75%;">26th October 2023</span></h2><ul class="simple">
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/196">#196</a><span>:</span> Bump many development dependencies.</p></li>
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/196">#196</a><span>:</span> Bump aiodns to <a class="reference external" href="https://github.com/saghul/aiodns/releases/tag/v3.1.1"><code class="docutils literal notranslate"><span class="pre">3.1.1</span></code></a>.</p></li>
+</ul>
+</section>
+<section id="10.3.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v10.3.0">10.3.0</a> <span style="font-size: 75%;">19th September 2023</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/195">#195</a><span>:</span> Set <cite>discord</cite>, <cite>websockets</cite>, <cite>chardet</cite> &amp; <cite>async_rediscache</cite> loggers to warning level and <cite>asyncio</cite> to info level by default.</p></li>
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/195">#195</a><span>:</span> Add <cite>log_format</cite> to <cite>pydis_core.utils.logging</cite> to allow for standardised logging across all services using pydis_core.</p></li>
+</ul>
+</section>
+<section id="10.2.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v10.2.0">10.2.0</a> <span style="font-size: 75%;">28th August 2023</span></h2><ul class="simple">
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/192">#192</a><span>:</span> Bump Discord.py to <a class="reference external" href="https://github.com/Rapptz/discord.py/releases/tag/v2.3.2"><code class="docutils literal notranslate"><span class="pre">2.3.2</span></code></a>.</p></li>
+</ul>
+</section>
+<section id="10.1.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v10.1.0">10.1.0</a> <span style="font-size: 75%;">25th July 2023</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/190">#190</a><span>:</span> Overwrite <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Bot.process_commands" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.ext.commands.Bot.process_commands</span></code></a> to ensure no commands are processed until all extensions are loaded. This only works for clients using <a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.load_extensions" title="pydis_core.BotBase.load_extensions"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.BotBase.load_extensions</span></code></a>.</p></li>
+</ul>
+</section>
+<section id="10.0.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v10.0.0">10.0.0</a> <span style="font-size: 75%;">14th July 2023</span></h2><ul class="simple">
+<li><p>[<span style="color: #F50F10;">Breaking</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/188">#188</a><span>:</span> Support sending multiple files at once to paste service. All calls to <a class="reference internal" href="output/pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.send_to_paste_service" title="pydis_core.utils.paste_service.send_to_paste_service"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.paste_service.send_to_paste_service</span></code></a> must now provide a list of <a class="reference internal" href="output/pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteFile" title="pydis_core.utils.paste_service.PasteFile"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.paste_service.PasteFile</span></code></a>.</p></li>
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/184">#184</a><span>:</span> Remove the message stored in the <code class="docutils literal notranslate"><span class="pre">message</span></code> attr of <a class="reference internal" href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck" title="pydis_core.utils.interactions.ViewWithUserAndRoleCheck"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.interactions.ViewWithUserAndRoleCheck</span></code></a> when the interaction is stopped, in additional to the exist logic for timeout.</p></li>
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/187">#187</a><span>:</span> Fix <a class="reference internal" href="output/pydis_core.utils.channel.html#pydis_core.utils.channel.get_or_fetch_channel" title="pydis_core.utils.channel.get_or_fetch_channel"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.channel.get_or_fetch_channel</span></code></a>’s return type to include <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.abc.PrivateChannel" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.abc.PrivateChannel</span></code></a> and <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Thread" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.Thread</span></code></a>.</p></li>
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/184">#184</a><span>:</span> Bump Discord.py to <a class="reference external" href="https://github.com/Rapptz/discord.py/releases/tag/v2.3.1"><code class="docutils literal notranslate"><span class="pre">2.3.1</span></code></a>.</p></li>
+</ul>
+</section>
+<section id="9.9.2">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v9.9.2">9.9.2</a> <span style="font-size: 75%;">2nd July 2023</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/185">#185</a><span>:</span> Update expiry label from 1 month to 30 days in paste service.</p></li>
+</ul>
+</section>
+<section id="9.9.1">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v9.9.1">9.9.1</a> <span style="font-size: 75%;">22nd June 2023</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/183">#183</a><span>:</span> Push the correct changeset to pypi.</p></li>
+</ul>
+</section>
+<section id="9.9.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v9.9.0">9.9.0</a> <span style="font-size: 75%;">18th June 2023</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/182">#182</a><span>:</span> Add supported lexer validation to paste service.</p></li>
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/182">#182</a><span>:</span> Default pastebin url to <a class="reference external" href="https://paste.pythondiscord.com">https://paste.pythondiscord.com</a>.</p></li>
+</ul>
+</section>
+<section id="9.8.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v9.8.0">9.8.0</a> <span style="font-size: 75%;">13th June 2023</span></h2><ul class="simple">
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/181">#181</a><span>:</span> Bump Discord.py to <a class="reference external" href="https://github.com/Rapptz/discord.py/releases/tag/v2.3.0"><code class="docutils literal notranslate"><span class="pre">2.3.0</span></code></a>.</p></li>
+</ul>
+</section>
+<section id="9.7.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v9.7.0">9.7.0</a> <span style="font-size: 75%;">10th June 2023</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/176">#176</a><span>:</span> Migrate repo to use ruff for linting.</p></li>
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/177">#177</a><span>:</span> Automatically handle discord.Forbidden 90001 errors in all schedules.</p></li>
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/179">#179</a><span>:</span> Add paste service utility to upload text to our paste service.</p></li>
+</ul>
+</section>
+<section id="9.6.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v9.6.0">9.6.0</a> <span style="font-size: 75%;">6th May 2023</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/175">#175</a><span>:</span> Log when waiting for the guild to be available before loading cogs.</p></li>
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/175">#175</a><span>:</span> Bump Discord.py to <a class="reference external" href="https://github.com/Rapptz/discord.py/releases/tag/v2.2.3"><code class="docutils literal notranslate"><span class="pre">2.2.3</span></code></a>.</p></li>
+</ul>
+</section>
+<section id="9.5.1">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v9.5.1">9.5.1</a> <span style="font-size: 75%;">2nd March 2023</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/174">#174</a><span>:</span> Bump Discord.py to <a class="reference external" href="https://github.com/Rapptz/discord.py/releases/tag/v2.2.2"><code class="docutils literal notranslate"><span class="pre">2.2.2</span></code></a>.</p></li>
+</ul>
+</section>
+<section id="9.5.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v9.5.0">9.5.0</a> <span style="font-size: 75%;">28th February 2023</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/173">#173</a><span>:</span> Bump Discord.py to <a class="reference external" href="https://github.com/Rapptz/discord.py/releases/tag/v2.2.0"><code class="docutils literal notranslate"><span class="pre">2.2.0</span></code></a>.</p></li>
+</ul>
+</section>
+<section id="9.4.1">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v9.4.1">9.4.1</a> <span style="font-size: 75%;">9th February 2023</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/172">#172</a><span>:</span> Bump Discord.py to <a class="reference external" href="https://github.com/Rapptz/discord.py/releases/tag/v2.1.1"><code class="docutils literal notranslate"><span class="pre">2.1.1</span></code></a>.</p></li>
+</ul>
+</section>
+<section id="9.4.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v9.4.0">9.4.0</a> <span style="font-size: 75%;">24th December 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/171">#171</a><span>:</span> Sync all app commands after extensions have been loaded. This release also removes the need to run <a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.load_extensions" title="pydis_core.BotBase.load_extensions"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.BotBase.load_extensions</span></code></a> in a task.</p></li>
+</ul>
+</section>
+<section id="9.3.1">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v9.3.1">9.3.1</a> <span style="font-size: 75%;">23rd December 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/170">#170</a><span>:</span> Save references of newly created tasks in <a class="reference internal" href="output/pydis_core.utils.scheduling.html#module-pydis_core.utils.scheduling" title="pydis_core.utils.scheduling"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.scheduling</span></code></a>.</p></li>
+</ul>
+</section>
+<section id="9.3.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v9.3.0">9.3.0</a> <span style="font-size: 75%;">13th December 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/169">#169</a><span>:</span> Return <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a> upon receiving a bad request from Discord in <a class="reference internal" href="output/pydis_core.utils.members.html#pydis_core.utils.members.get_or_fetch_member" title="pydis_core.utils.members.get_or_fetch_member"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.members.get_or_fetch_member</span></code></a>.</p></li>
+</ul>
+</section>
+<section id="9.2.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v9.2.0">9.2.0</a> <span style="font-size: 75%;">17th November 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/151">#151</a><span>:</span> Add support for Python 3.11.</p></li>
+</ul>
+</section>
+<section id="9.1.1">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v9.1.1">9.1.1</a> <span style="font-size: 75%;">14th November 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/162">#162</a><span>:</span> Handle not being able to delete the interaction message on button press/timeout.</p></li>
+</ul>
+</section>
+<section id="9.1.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v9.1.0">9.1.0</a> <span style="font-size: 75%;">13th November 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/88">#88</a><span>:</span> Add a decorator that stops successive duplicate invocations of commands.</p></li>
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/158">#158</a><span>:</span> Bump Discord.py to <a class="reference external" href="https://github.com/Rapptz/discord.py/releases/tag/v2.1.0"><code class="docutils literal notranslate"><span class="pre">2.1.0</span></code></a>.</p></li>
+</ul>
+</section>
+<section id="9.0.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v9.0.0">9.0.0</a> <span style="font-size: 75%;">5th November 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #F50F10;">Breaking</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/157">#157</a><span>:</span> Rename project to pydis_core to allow for publishing to pypi.</p></li>
+</ul>
+</section>
+<section id="8.2.1">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v8.2.1">8.2.1</a> <span style="font-size: 75%;">18th September 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/138">#138</a><span>:</span> Bump Discord.py to <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/whats_new.html#v2-0-1"><code class="docutils literal notranslate"><span class="pre">2.0.1</span></code></a>.</p></li>
+</ul>
+</section>
+<section id="8.2.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v8.2.0">8.2.0</a> <span style="font-size: 75%;">18th August 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/125">#125</a><span>:</span> Bump Discord.py to the stable <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/migrating.html"><code class="docutils literal notranslate"><span class="pre">2.0</span> <span class="pre">release</span></code></a>.</p></li>
+</ul>
+</section>
+<section id="8.1.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v8.1.0">8.1.0</a> <span style="font-size: 75%;">16th August 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/124">#124</a><span>:</span> Updated <a class="reference internal" href="output/pydis_core.utils.regex.html#pydis_core.utils.regex.DISCORD_INVITE" title="pydis_core.utils.regex.DISCORD_INVITE"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.regex.DISCORD_INVITE</span></code></a> regex to optionally match leading “http[s]” and “www”.</p></li>
+</ul>
+</section>
+<section id="8.0.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v8.0.0">8.0.0</a> <span style="font-size: 75%;">27th July 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #F50F10;">Breaking</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/110">#110</a><span>:</span> Bump async-rediscache to v1.0.0-rc2.</p></li>
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/107">#107</a><span>:</span> Declare aiodns as a project dependency.</p></li>
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/107">#107</a><span>:</span> Add a sample project with boilerplate and documentation explaining how to develop for bot-core.</p></li>
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/108">#108</a><span>:</span> Bump Python version to 3.10.*.</p></li>
+</ul>
+</section>
+<section id="7.5.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v7.5.0">7.5.0</a> <span style="font-size: 75%;">23rd July 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/101">#101</a><span>:</span> Add a utility to clean a string or referenced message’s content.</p></li>
+</ul>
+</section>
+<section id="7.4.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v7.4.0">7.4.0</a> <span style="font-size: 75%;">17th July 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/106">#106</a><span>:</span> Add an optional <code class="docutils literal notranslate"><span class="pre">message</span></code> attr to <a class="reference internal" href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck" title="pydis_core.utils.interactions.ViewWithUserAndRoleCheck"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.interactions.ViewWithUserAndRoleCheck</span></code></a>. On view timeout, this message has its view removed if set.</p></li>
+</ul>
+</section>
+<section id="7.3.1">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v7.3.1">7.3.1</a> <span style="font-size: 75%;">16th July 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/104">#104</a><span>:</span> Fix <a class="reference internal" href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.DeleteMessageButton" title="pydis_core.utils.interactions.DeleteMessageButton"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.interactions.DeleteMessageButton</span></code></a> not working due to using wrong delete method.</p></li>
+</ul>
+</section>
+<section id="7.3.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v7.3.0">7.3.0</a> <span style="font-size: 75%;">16th July 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/103">#103</a><span>:</span> Add a button <a class="reference internal" href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.DeleteMessageButton" title="pydis_core.utils.interactions.DeleteMessageButton"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.interactions.DeleteMessageButton</span></code></a> that deletes the message attached to its parent view.</p></li>
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/103">#103</a><span>:</span> Add a generic view <a class="reference internal" href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck" title="pydis_core.utils.interactions.ViewWithUserAndRoleCheck"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.interactions.ViewWithUserAndRoleCheck</span></code></a> that only allows specified users and roles to interaction with it.</p></li>
+</ul>
+</section>
+<section id="7.2.2">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v7.2.2">7.2.2</a> <span style="font-size: 75%;">9th July 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/98">#98</a><span>:</span> Only close <code class="docutils literal notranslate"><span class="pre">BotBase.stats._transport</span></code> if <code class="docutils literal notranslate"><span class="pre">BotBase.stats</span></code> was created.</p></li>
+</ul>
+</section>
+<section id="7.2.1">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v7.2.1">7.2.1</a> <span style="font-size: 75%;">30th June 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/91">#91</a><span>:</span> Add missing await to <code class="docutils literal notranslate"><span class="pre">BotBase.ping_services</span></code> in some cases.</p></li>
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/91">#91</a><span>:</span> Pass missing self parameter to <code class="docutils literal notranslate"><span class="pre">BotBase.ping_services</span></code>.</p></li>
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/91">#91</a><span>:</span> Fix incorrect docstring for <code class="docutils literal notranslate"><span class="pre">pydis_core.utils.member.handle_role_change</span></code>.</p></li>
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/96">#96</a><span>:</span> Fix attempts to connect to <code class="docutils literal notranslate"><span class="pre">BotBase.statsd_url</span></code> when it is None.</p></li>
+</ul>
+</section>
+<section id="7.2.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v7.2.0">7.2.0</a> <span style="font-size: 75%;">28th June 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/93">#93</a><span>:</span> Bump Discord.py to <a class="reference external" href="https://github.com/Rapptz/discord.py/commit/0eb3d26343969a25ffc43ba72eca42538d2e7e7a"><code class="docutils literal notranslate"><span class="pre">0eb3d26</span></code></a>:</p>
+<ul>
+<li><p>Adds support for auto mod, of which the new auto_mod MESSAGE_TYPE is needed for our filter system.</p></li>
+</ul>
+</li>
+</ul>
+</section>
+<section id="7.1.3">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v7.1.3">7.1.3</a> <span style="font-size: 75%;">30th May 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/79">#79</a><span>:</span> Restore on-site changelog.</p></li>
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/79">#79</a><span>:</span> Add <a class="reference external" href="https://pypi.org/project/sphinx-multiversion/">sphinx-multiversion</a> to make available older doc versions.</p></li>
+</ul>
+</section>
+<section id="7.1.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v7.1.0">7.1.0</a> <span style="font-size: 75%;">24th May 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/78">#78</a><span>:</span> Bump Discord.py to <a class="reference external" href="https://github.com/Rapptz/discord.py/tree/4cbe8f58e16f6a76371ce45a69e0832130d6d24f"><code class="docutils literal notranslate"><span class="pre">4cbe8f5</span></code></a>:</p>
+<ul>
+<li><p>This fixes a bug with permission resolution when dealing with timed out members.</p></li>
+</ul>
+</li>
+</ul>
+</section>
+<section id="7.0.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v7.0.0">7.0.0</a> <span style="font-size: 75%;">10th May 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #F50F10;">Breaking</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/75">#75</a><span>:</span> Discord invite regex no longer returns a URL safe result, refer to documentation for safely handling it.</p></li>
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/75">#75</a><span>:</span> Capture all characters up to a whitespace in the Discord Invite regex.</p></li>
+</ul>
+</section>
+<section id="6.4.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v6.4.0">6.4.0</a> <span style="font-size: 75%;">26th April 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/72">#72</a><span>:</span> Bump discord.py to <a class="reference external" href="https://github.com/Rapptz/discord.py/tree/5a06fa5f3e28d2b7191722e1a84c541560008aea"><code class="docutils literal notranslate"><span class="pre">5a06fa5</span></code></a>:</p>
+<ul>
+<li><p>Notably, one of the commits in this bump dynamically extends the timeout of <code class="docutils literal notranslate"><span class="pre">Guild.chunk()</span></code> based on the number or members, so it should actually work on our guild now.</p></li>
+</ul>
+</li>
+</ul>
+</section>
+<section id="6.3.2">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v6.3.2">6.3.2</a> <span style="font-size: 75%;">25th April 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/69">#69</a><span>:</span> Actually use <code class="docutils literal notranslate"><span class="pre">statsd_url</span></code> when it gets passed to <code class="docutils literal notranslate"><span class="pre">BotBase</span></code>.</p></li>
+</ul>
+</section>
+<section id="6.3.1">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v6.3.1">6.3.1</a> <span style="font-size: 75%;">21st April 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/68">#68</a><span>:</span> Correct version number in pyproject.toml.</p></li>
+</ul>
+</section>
+<section id="6.3.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v6.3.0">6.3.0</a> <span style="font-size: 75%;">21st April 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span>:</span><span> </span> (Committed directly to main) Don’t load modules starting with <code class="docutils literal notranslate"><span class="pre">_</span></code>.</p></li>
+</ul>
+</section>
+<section id="6.2.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v6.2.0">6.2.0</a> <span style="font-size: 75%;">21st April 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/66">#66</a><span>:</span> Load each cog in it’s own task to avoid a single cog crashing entire load process.</p></li>
+</ul>
+</section>
+<section id="6.1.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v6.1.0">6.1.0</a> <span style="font-size: 75%;">20th April 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/65">#65</a><span>:</span> Add <code class="docutils literal notranslate"><span class="pre">unqualify</span></code> to the <code class="docutils literal notranslate"><span class="pre">pydis_core.utils</span></code> namespace for use in bots that manipulate extensions.</p></li>
+</ul>
+</section>
+<section id="6.0.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v6.0.0">6.0.0</a> <span style="font-size: 75%;">19th April 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #F50F10;">Breaking</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/64">#64</a><span>:</span> Bump discord.py to <a class="reference external" href="https://github.com/Rapptz/discord.py/tree/987235d5649e7c2b1a927637bab6547244ecb2cf"><code class="docutils literal notranslate"><span class="pre">987235d</span></code></a>:</p>
+<ul>
+<li><p>This reverts a change to help command behaviour that broke our custom pagination.</p></li>
+<li><p>This also adds basic forum channel support to discord.py.</p></li>
+</ul>
+</li>
+</ul>
+</section>
+<section id="5.0.4">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v5.0.4">5.0.4</a> <span style="font-size: 75%;">18th April 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/63">#63</a><span>:</span> Allow passing an <code class="docutils literal notranslate"><span class="pre">api_client</span></code> to <code class="docutils literal notranslate"><span class="pre">BotBase.__init__</span></code> to specify the <code class="docutils literal notranslate"><span class="pre">pydis_core.site_api.APIClient</span></code> instance to use.</p></li>
+</ul>
+</section>
+<section id="5.0.3">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v5.0.3">5.0.3</a> <span style="font-size: 75%;">18th April 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/61">#61</a><span>:</span> Reconnect to redis session on setup if it is closed.</p></li>
+</ul>
+</section>
+<section id="5.0.2">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v5.0.2">5.0.2</a> <span style="font-size: 75%;">5th April 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/56">#56</a><span>:</span> Move the creation of the <code class="docutils literal notranslate"><span class="pre">asyncio.Event</span></code>, <code class="docutils literal notranslate"><span class="pre">BotBase._guild_available</span></code> to within the setup hook, to avoid a deprecation notice.</p></li>
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/56">#56</a><span>:</span> Create a dummy <code class="docutils literal notranslate"><span class="pre">AsyncstatsdClient</span></code> before connecting to real url, in case a connection cannot be made on init.</p></li>
+</ul>
+</section>
+<section id="5.0.1">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v5.0.1">5.0.1</a> <span style="font-size: 75%;">2nd April 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/54">#54</a><span>:</span> Move creation of BotBase’s <code class="docutils literal notranslate"><span class="pre">aiohttp.AsyncResolver</span></code> to the async setup hook, to avoid deprecation notice.</p></li>
+</ul>
+</section>
+<section id="5.0.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v5.0.0">5.0.0</a> <span style="font-size: 75%;">2nd April 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #F50F10;">Breaking</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/42">#42</a><span>:</span> Remove public extensions util.</p></li>
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/42">#42</a><span>:</span> Add async statsd client.</p></li>
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/42">#42</a><span>:</span> Add <code class="docutils literal notranslate"><span class="pre">BotBase</span></code>, a <code class="docutils literal notranslate"><span class="pre">discord.ext.commands.Bot</span></code> sub-class, which abstracts a lot of logic shared between our bots.</p></li>
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/42">#42</a><span>:</span> Bump Discord.py to latest alpha commit.</p></li>
+</ul>
+</section>
+<section id="4.0.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v4.0.0">4.0.0</a> <span style="font-size: 75%;">14th March 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #F50F10;">Breaking</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/39">#39</a><span>:</span> Migrate back to Discord.py 2.0.</p></li>
+</ul>
+</section>
+<section id="3.0.1">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v3.0.1">3.0.1</a> <span style="font-size: 75%;">5th March 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #A04040;">Bug</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/37">#37</a><span>:</span> Setup log tracing when <code class="docutils literal notranslate"><span class="pre">pydis_core.utils.logging</span></code> is imported so that it can be used within pydis_core functions.</p></li>
+</ul>
+</section>
+<section id="3.0.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v3.0.0">3.0.0</a> <span style="font-size: 75%;">3rd March 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #F50F10;">Breaking</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/35">#35</a><span>:</span> Move <code class="docutils literal notranslate"><span class="pre">apply_monkey_patches()</span></code> directly to <cite>pydis_core.utils</cite> namespace.</p></li>
+</ul>
+</section>
+<section id="2.1.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v2.1.0">2.1.0</a> <span style="font-size: 75%;">24th February 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/34">#34</a><span>:</span> Port the Site API wrapper from the bot repo.</p></li>
+</ul>
+</section>
+<section id="2.0.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v2.0.0">2.0.0</a> <span style="font-size: 75%;">22nd February 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #F50F10;">Breaking</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/32">#32</a><span>:</span> Migrate from discord.py 2.0a0 to disnake.</p></li>
+<li><p>[<span style="color: #F50F10;">Breaking</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/35">#35</a><span>:</span> Moved regex to <code class="docutils literal notranslate"><span class="pre">pydis_core.utils</span></code> namespace.</p></li>
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/29">#29</a><span>:</span> Port many common utilities from our bots:</p>
+<ul>
+<li><p>caching</p></li>
+<li><p>channel</p></li>
+<li><p>extensions</p></li>
+<li><p>loggers</p></li>
+<li><p>members</p></li>
+<li><p>scheduling</p></li>
+</ul>
+</li>
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/32">#32</a><span>:</span> Add common monkey patches.</p></li>
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/2">#2</a><span>:</span> Added intersphinx to docs.</p></li>
+</ul>
+</section>
+<section id="1.2.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v1.2.0">1.2.0</a> <span style="font-size: 75%;">9th January 2022</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/12">#12</a><span>:</span> Code block detection regex.</p></li>
+</ul>
+</section>
+<section id="1.1.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v1.1.0">1.1.0</a> <span style="font-size: 75%;">2nd December 2021</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/2">#2</a><span>:</span> Regex utility.</p></li>
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/2">#2</a><span>:</span> Autogenerated docs.</p></li>
+</ul>
+</section>
+<section id="1.0.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v1.0.0">1.0.0</a> <span style="font-size: 75%;">17th November 2021</span></h2><ul class="simple">
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/1">#1</a><span>:</span> Core package, poetry, and linting CI.</p></li>
+</ul>
+</section>
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+
+ <a class="prev-page" href="development.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">Local Development &amp; Testing</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer no-toc">
+
+
+
+ </aside>
+ </div>
+</div><script src="_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="_static/doctools.js?v=888ff710"></script>
+ <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/development.html b/v11.0.1/development.html
new file mode 100644
index 00000000..97154d4c
--- /dev/null
+++ b/v11.0.1/development.html
@@ -0,0 +1,522 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="./">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Changelog" href="changelog.html" /><link rel="prev" title="site_api" href="output/pydis_core.site_api.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>Local Development &amp; Testing - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul>
+<li class="toctree-l1 has-children"><a class="reference internal" href="output/pydis_core.html">Pydis Core</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 has-children"><a class="reference internal" href="output/pydis_core.utils.html">Utils</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l3 has-children"><a class="reference internal" href="output/pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul class="current">
+<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../main/development.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.2/development.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.1/development.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.0/development.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.8.0/development.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.7.0/development.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.6.0/development.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.5.1/development.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.5.0/development.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.4.1/development.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.4.0/development.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.3.0/development.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.2.0/development.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.10.0-alpha.2/development.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.10.0-alpha.1/development.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.1.1/development.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.0.0/development.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.7.0/development.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.6.0/development.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.5.1/development.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.5.0/development.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.4.0/development.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.3.0/development.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.2.0/development.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.1.0/development.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.0.0/development.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="local-development-testing">
+<h1>Local Development &amp; Testing<a class="headerlink" href="#local-development-testing" title="Link to this heading">#</a></h1>
+<p>To test your features locally, there are a few possible approaches:</p>
+<ol class="arabic simple">
+<li><p>Install your local copy of pydis_core into a pre-existing project such as bot</p></li>
+<li><p>Use the provided template from the <a class="reference external" href="https://github.com/python-discord/bot-core/blob/main/dev/bot">dev/bot</a> folder</p></li>
+</ol>
+<p>See below for more info on both approaches.</p>
+<p>What’s going to be common between them is you’ll need to write code to test your feature.
+This might mean adding new commands, modifying existing ones, changing utilities, etc.
+The steps below should provide most of the groundwork you need, but the exact requirements will
+vary by the feature you’re working on.</p>
+<section id="option-1">
+<h2>Option 1<a class="headerlink" href="#option-1" title="Link to this heading">#</a></h2>
+<ol class="arabic simple">
+<li><p>Navigate to the project you want to install bot-core in, such as bot or sir-lancebot</p></li>
+<li><p>Run <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">/path/to/pydis_core</span></code> in the project’s environment</p>
+<ul class="simple">
+<li><p>The path provided to install should be the root directory of this project on your machine.
+That is, the folder which contains the <code class="docutils literal notranslate"><span class="pre">pyproject.toml</span></code> file.</p></li>
+<li><p>Make sure to install in the correct environment. Most Python Discord projects use
+poetry, so you can run <code class="docutils literal notranslate"><span class="pre">poetry</span> <span class="pre">run</span> <span class="pre">pip</span> <span class="pre">install</span> <span class="pre">/path/to/pydis_core</span></code>.</p></li>
+</ul>
+</li>
+<li><p>You can now use features from your local bot-core changes.
+To load new changes, run the install command again.</p></li>
+</ol>
+</section>
+<section id="option-2">
+<h2>Option 2<a class="headerlink" href="#option-2" title="Link to this heading">#</a></h2>
+<ol class="arabic simple">
+<li><p>Copy the <a class="reference external" href="https://github.com/python-discord/bot-core/blob/main/dev/bot">bot template folder</a> 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.</p></li>
+<li><p>Run the project</p>
+<ul class="simple">
+<li><p>Locally: You can run it on your system using <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">-m</span> <span class="pre">bot</span></code></p></li>
+<li><p>Docker: You can run on docker using <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">compose</span> <span class="pre">up</span> <span class="pre">-d</span> <span class="pre">bot</span></code>.</p></li>
+</ul>
+</li>
+<li><p>Configure the environment variables used by the program.
+You can set them in an <code class="docutils literal notranslate"><span class="pre">.env</span></code> file in the project root directory. The variables are:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">BOT_TOKEN</span></code> (required): Discord bot token, with all intents enabled</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">GUILD_ID</span></code> (required): The guild the bot should monitor</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">PREFIX</span></code>: The prefix to use for invoking bot commands. Defaults to mentions and <code class="docutils literal notranslate"><span class="pre">!</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">ALLOWED_ROLES</span></code>: A comma seperated list of role IDs which the bot is allowed to mention</p></li>
+</ul>
+</li>
+<li><p>You can now test your changes. You do not need to do anything to reinstall the
+library if you modify your code.</p></li>
+</ol>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>The docker-compose included contains services from our other applications
+to help you test out certain features. Use them as needed.</p>
+</div>
+</section>
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="changelog.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">Changelog</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="output/pydis_core.site_api.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">site_api</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">Local Development &amp; Testing</a><ul>
+<li><a class="reference internal" href="#option-1">Option 1</a></li>
+<li><a class="reference internal" href="#option-2">Option 2</a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="_static/doctools.js?v=888ff710"></script>
+ <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/genindex.html b/v11.0.1/genindex.html
new file mode 100644
index 00000000..b2c75d32
--- /dev/null
+++ b/v11.0.1/genindex.html
@@ -0,0 +1,1147 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="./">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="#" /><link rel="search" title="Search" href="search.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 --><title>Index - Pydis Core v11.0.1</title>
+<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul>
+<li class="toctree-l1 has-children"><a class="reference internal" href="output/pydis_core.html">Pydis Core</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 has-children"><a class="reference internal" href="output/pydis_core.utils.html">Utils</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l3 has-children"><a class="reference internal" href="output/pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../main/index.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.2/index.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.1/index.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.0/index.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.8.0/index.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.7.0/index.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.6.0/index.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.5.1/index.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.5.0/index.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.4.1/index.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.4.0/index.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.3.0/index.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.2.0/index.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.10.0-alpha.2/index.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.10.0-alpha.1/index.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.1.1/index.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.0.0/index.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="genindex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.7.0/index.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.6.0/index.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.5.1/index.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.5.0/index.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.4.0/index.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.3.0/index.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.2.0/index.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.1.0/index.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.0.0/index.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+ <div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+
+<section class="genindex-section">
+ <h1 id="index">Index</h1>
+ <div class="genindex-jumpbox"><a href="#_"><strong>_</strong></a> | <a href="#A"><strong>A</strong></a> | <a href="#B"><strong>B</strong></a> | <a href="#C"><strong>C</strong></a> | <a href="#D"><strong>D</strong></a> | <a href="#E"><strong>E</strong></a> | <a href="#F"><strong>F</strong></a> | <a href="#G"><strong>G</strong></a> | <a href="#H"><strong>H</strong></a> | <a href="#I"><strong>I</strong></a> | <a href="#L"><strong>L</strong></a> | <a href="#M"><strong>M</strong></a> | <a href="#O"><strong>O</strong></a> | <a href="#P"><strong>P</strong></a> | <a href="#R"><strong>R</strong></a> | <a href="#S"><strong>S</strong></a> | <a href="#T"><strong>T</strong></a> | <a href="#U"><strong>U</strong></a> | <a href="#V"><strong>V</strong></a> | <a href="#W"><strong>W</strong></a></div>
+</section>
+<section id="_" class="genindex-section">
+ <h2>_</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.caching.html#pydis_core.utils.caching.AsyncCache.__call__">__call__() (AsyncCache method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler.__contains__">__contains__() (Scheduler method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent.__enter__">__enter__() (SharedEvent method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent.__exit__">__exit__() (SharedEvent method)</a>
+</li>
+ <li><a href="output/pydis_core.site_api.html#pydis_core.site_api.APIClient.__init__">__init__() (APIClient method)</a>
+
+ <ul>
+ <li><a href="output/pydis_core.utils.caching.html#pydis_core.utils.caching.AsyncCache.__init__">(AsyncCache method)</a>
+</li>
+ <li><a href="output/pydis_core.async_stats.html#pydis_core.async_stats.AsyncStatsClient.__init__">(AsyncStatsClient method)</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.__init__">(BotBase method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.CommandErrorManager.__init__">(CommandErrorManager method)</a>, <a href="output/pydis_core.utils.error_handling.commands.manager.html#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.__init__">[1]</a>
+</li>
+ <li><a href="output/pydis_core.utils.cooldown.html#pydis_core.utils.cooldown.CommandOnCooldown.__init__">(CommandOnCooldown method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.checks.html#pydis_core.utils.checks.ContextCheckFailure.__init__">(ContextCheckFailure method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.DeleteMessageButton.__init__">(DeleteMessageButton method)</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.LinePaginator.__init__">(LinePaginator method)</a>, <a href="output/pydis_core.utils.pagination.html#pydis_core.utils.pagination.LinePaginator.__init__">[1]</a>
+</li>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError.__init__">(LockedResourceError method)</a>
+</li>
+ <li><a href="output/pydis_core.site_api.html#pydis_core.site_api.ResponseCodeError.__init__">(ResponseCodeError method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler.__init__">(Scheduler method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent.__init__">(SharedEvent method)</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.StartupError.__init__">(StartupError method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__">(ViewWithUserAndRoleCheck method)</a>
+</li>
+ </ul></li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.site_api.html#pydis_core.site_api.ResponseCodeError.__str__">__str__() (ResponseCodeError method)</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="A" class="genindex-section">
+ <h2>A</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler">AbstractCommandErrorHandler (class in pydis_core.utils.error_handling.commands)</a>
+
+ <ul>
+ <li><a href="output/pydis_core.utils.error_handling.commands.abc.html#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler">(class in pydis_core.utils.error_handling.commands.abc)</a>
+</li>
+ </ul></li>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.add_cog">add_cog() (BotBase method)</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.add_command">add_command() (BotBase method)</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.LinePaginator.add_line">add_line() (LinePaginator method)</a>, <a href="output/pydis_core.utils.pagination.html#pydis_core.utils.pagination.LinePaginator.add_line">[1]</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.all_extensions">all_extensions (BotBase attribute)</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.api_client">api_client (BotBase attribute)</a>
+</li>
+ <li><a href="output/pydis_core.site_api.html#pydis_core.site_api.APIClient">APIClient (class in pydis_core.site_api)</a>
+</li>
+ <li><a href="output/pydis_core.utils.html#pydis_core.utils.apply_monkey_patches">apply_monkey_patches() (in module pydis_core.utils)</a>
+</li>
+ <li><a href="output/pydis_core.utils.caching.html#pydis_core.utils.caching.AsyncCache">AsyncCache (class in pydis_core.utils.caching)</a>
+</li>
+ <li><a href="output/pydis_core.async_stats.html#pydis_core.async_stats.AsyncStatsClient">AsyncStatsClient (class in pydis_core.async_stats)</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="B" class="genindex-section">
+ <h2>B</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.cooldown.html#pydis_core.utils.cooldown.block_duplicate_invocations">block_duplicate_invocations() (in module pydis_core.utils.cooldown)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase">BotBase (class in pydis_core)</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="C" class="genindex-section">
+ <h2>C</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.cooldown.html#pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown">call_without_cooldown() (CommandOnCooldown method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.DeleteMessageButton.callback">callback() (DeleteMessageButton method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler.cancel">cancel() (Scheduler method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler.cancel_all">cancel_all() (Scheduler method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.commands.html#pydis_core.utils.commands.clean_text_or_reply">clean_text_or_reply() (in module pydis_core.utils.commands)</a>
+</li>
+ <li><a href="output/pydis_core.utils.caching.html#pydis_core.utils.caching.AsyncCache.clear">clear() (AsyncCache method)</a>
+
+ <ul>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.clear">(BotBase method)</a>
+</li>
+ </ul></li>
+ <li><a href="output/pydis_core.site_api.html#pydis_core.site_api.APIClient.close">close() (APIClient method)</a>
+
+ <ul>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.close">(BotBase method)</a>
+</li>
+ </ul></li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.function.html#pydis_core.utils.function.command_wraps">command_wraps() (in module pydis_core.utils.function)</a>
+</li>
+ <li><a href="output/pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.CommandErrorManager">CommandErrorManager (class in pydis_core.utils.error_handling.commands)</a>
+
+ <ul>
+ <li><a href="output/pydis_core.utils.error_handling.commands.manager.html#pydis_core.utils.error_handling.commands.manager.CommandErrorManager">(class in pydis_core.utils.error_handling.commands.manager)</a>
+</li>
+ </ul></li>
+ <li><a href="output/pydis_core.utils.cooldown.html#pydis_core.utils.cooldown.CommandOnCooldown">CommandOnCooldown</a>
+</li>
+ <li><a href="output/pydis_core.utils.checks.html#pydis_core.utils.checks.ContextCheckFailure">ContextCheckFailure</a>
+</li>
+ <li><a href="output/pydis_core.utils.checks.html#pydis_core.utils.checks.cooldown_with_role_bypass">cooldown_with_role_bypass() (in module pydis_core.utils.checks)</a>
+</li>
+ <li><a href="output/pydis_core.async_stats.html#pydis_core.async_stats.AsyncStatsClient.create_socket">create_socket() (AsyncStatsClient method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.create_task">create_task() (in module pydis_core.utils.scheduling)</a>
+</li>
+ <li><a href="output/pydis_core.utils.logging.html#pydis_core.utils.logging.CustomLogger">CustomLogger (class in pydis_core.utils.logging)</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="D" class="genindex-section">
+ <h2>D</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.site_api.html#pydis_core.site_api.APIClient.delete">delete() (APIClient method)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.DeleteMessageButton">DeleteMessageButton (class in pydis_core.utils.interactions)</a>
+</li>
+ <li><a href="output/pydis_core.utils.regex.html#pydis_core.utils.regex.DISCORD_INVITE">DISCORD_INVITE (in module pydis_core.utils.regex)</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="E" class="genindex-section">
+ <h2>E</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.html#pydis_core.EmptyPaginatorEmbedError">EmptyPaginatorEmbedError</a>, <a href="output/pydis_core.utils.pagination.html#pydis_core.utils.pagination.EmptyPaginatorEmbedError">[1]</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="F" class="genindex-section">
+ <h2>F</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.regex.html#pydis_core.utils.regex.FORMATTED_CODE_REGEX">FORMATTED_CODE_REGEX (in module pydis_core.utils.regex)</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="G" class="genindex-section">
+ <h2>G</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.site_api.html#pydis_core.site_api.APIClient.get">get() (APIClient method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.function.html#pydis_core.utils.function.get_arg_value">get_arg_value() (in module pydis_core.utils.function)</a>
+</li>
+ <li><a href="output/pydis_core.utils.function.html#pydis_core.utils.function.get_arg_value_wrapper">get_arg_value_wrapper() (in module pydis_core.utils.function)</a>
+</li>
+ <li><a href="output/pydis_core.utils.function.html#pydis_core.utils.function.get_bound_args">get_bound_args() (in module pydis_core.utils.function)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.logging.html#pydis_core.utils.logging.get_logger">get_logger() (in module pydis_core.utils.logging)</a>
+</li>
+ <li><a href="output/pydis_core.utils.channel.html#pydis_core.utils.channel.get_or_fetch_channel">get_or_fetch_channel() (in module pydis_core.utils.channel)</a>
+</li>
+ <li><a href="output/pydis_core.utils.members.html#pydis_core.utils.members.get_or_fetch_member">get_or_fetch_member() (in module pydis_core.utils.members)</a>
+</li>
+ <li><a href="output/pydis_core.utils.function.html#pydis_core.utils.function.GlobalNameConflictError">GlobalNameConflictError</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.guild_id">guild_id (BotBase attribute)</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="H" class="genindex-section">
+ <h2>H</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.error_handling.commands.abc.html#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_app_command_error">handle_app_command_error() (AbstractCommandErrorHandler method)</a>, <a href="output/pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_app_command_error">[1]</a>
+</li>
+ <li><a href="output/pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.CommandErrorManager.handle_error">handle_error() (CommandErrorManager method)</a>, <a href="output/pydis_core.utils.error_handling.commands.manager.html#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.handle_error">[1]</a>
+</li>
+ <li><a href="output/pydis_core.utils.error_handling.html#pydis_core.utils.error_handling.handle_forbidden_from_block">handle_forbidden_from_block() (in module pydis_core.utils.error_handling)</a>
+</li>
+ <li><a href="output/pydis_core.utils.members.html#pydis_core.utils.members.handle_role_change">handle_role_change() (in module pydis_core.utils.members)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.error_handling.commands.abc.html#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_text_command_error">handle_text_command_error() (AbstractCommandErrorHandler method)</a>, <a href="output/pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_text_command_error">[1]</a>
+</li>
+ <li><a href="output/pydis_core.utils.checks.html#pydis_core.utils.checks.has_any_role_check">has_any_role_check() (in module pydis_core.utils.checks)</a>
+</li>
+ <li><a href="output/pydis_core.utils.checks.html#pydis_core.utils.checks.has_no_roles_check">has_no_roles_check() (in module pydis_core.utils.checks)</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.http_session">http_session (BotBase attribute)</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="I" class="genindex-section">
+ <h2>I</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError.id">id (LockedResourceError attribute)</a>
+</li>
+ <li><a href="output/pydis_core.utils.checks.html#pydis_core.utils.checks.in_whitelist_check">in_whitelist_check() (in module pydis_core.utils.checks)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check">interaction_check() (ViewWithUserAndRoleCheck method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.checks.html#pydis_core.utils.checks.InWhitelistCheckFailure">InWhitelistCheckFailure</a>
+</li>
+ <li><a href="output/pydis_core.utils.channel.html#pydis_core.utils.channel.is_in_category">is_in_category() (in module pydis_core.utils.channel)</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="L" class="genindex-section">
+ <h2>L</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.html#pydis_core.LinePaginator">LinePaginator (class in pydis_core)</a>
+
+ <ul>
+ <li><a href="output/pydis_core.utils.pagination.html#pydis_core.utils.pagination.LinePaginator">(class in pydis_core.utils.pagination)</a>
+</li>
+ </ul></li>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.load_extensions">load_extensions() (BotBase method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.lock">lock() (in module pydis_core.utils.lock)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.lock_arg">lock_arg() (in module pydis_core.utils.lock)</a>
+</li>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError">LockedResourceError</a>
+</li>
+ <li><a href="output/pydis_core.utils.logging.html#pydis_core.utils.logging.log_format">log_format (in module pydis_core.utils.logging)</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.log_to_dev_log">log_to_dev_log() (BotBase method)</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="M" class="genindex-section">
+ <h2>M</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.MAX_PASTE_SIZE">MAX_PASTE_SIZE (in module pydis_core.utils.paste_service)</a>
+</li>
+ <li><a href="output/pydis_core.site_api.html#pydis_core.site_api.APIClient.maybe_raise_for_status">maybe_raise_for_status() (APIClient static method)</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.PaginationEmojis.model_computed_fields">model_computed_fields (PaginationEmojis attribute)</a>, <a href="output/pydis_core.utils.pagination.html#pydis_core.utils.pagination.PaginationEmojis.model_computed_fields">[1]</a>
+
+ <ul>
+ <li><a href="output/pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteFile.model_computed_fields">(PasteFile attribute)</a>
+</li>
+ <li><a href="output/pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteResponse.model_computed_fields">(PasteResponse attribute)</a>
+</li>
+ </ul></li>
+ <li><a href="output/pydis_core.html#pydis_core.PaginationEmojis.model_config">model_config (PaginationEmojis attribute)</a>, <a href="output/pydis_core.utils.pagination.html#pydis_core.utils.pagination.PaginationEmojis.model_config">[1]</a>
+
+ <ul>
+ <li><a href="output/pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteFile.model_config">(PasteFile attribute)</a>
+</li>
+ <li><a href="output/pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteResponse.model_config">(PasteResponse attribute)</a>
+</li>
+ </ul></li>
+ <li><a href="output/pydis_core.html#pydis_core.PaginationEmojis.model_fields">model_fields (PaginationEmojis attribute)</a>, <a href="output/pydis_core.utils.pagination.html#pydis_core.utils.pagination.PaginationEmojis.model_fields">[1]</a>
+
+ <ul>
+ <li><a href="output/pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteFile.model_fields">(PasteFile attribute)</a>
+</li>
+ <li><a href="output/pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteResponse.model_fields">(PasteResponse attribute)</a>
+</li>
+ </ul></li>
+ <li>
+ module
+
+ <ul>
+ <li><a href="output/pydis_core.html#module-pydis_core">pydis_core</a>
+</li>
+ <li><a href="output/pydis_core.async_stats.html#module-pydis_core.async_stats">pydis_core.async_stats</a>
+</li>
+ <li><a href="output/pydis_core.exts.html#module-pydis_core.exts">pydis_core.exts</a>
+</li>
+ <li><a href="output/pydis_core.site_api.html#module-pydis_core.site_api">pydis_core.site_api</a>
+</li>
+ <li><a href="output/pydis_core.utils.html#module-pydis_core.utils">pydis_core.utils</a>
+</li>
+ <li><a href="output/pydis_core.utils.caching.html#module-pydis_core.utils.caching">pydis_core.utils.caching</a>
+</li>
+ <li><a href="output/pydis_core.utils.channel.html#module-pydis_core.utils.channel">pydis_core.utils.channel</a>
+</li>
+ <li><a href="output/pydis_core.utils.checks.html#module-pydis_core.utils.checks">pydis_core.utils.checks</a>
+</li>
+ <li><a href="output/pydis_core.utils.commands.html#module-pydis_core.utils.commands">pydis_core.utils.commands</a>
+</li>
+ <li><a href="output/pydis_core.utils.cooldown.html#module-pydis_core.utils.cooldown">pydis_core.utils.cooldown</a>
+</li>
+ <li><a href="output/pydis_core.utils.error_handling.html#module-pydis_core.utils.error_handling">pydis_core.utils.error_handling</a>
+</li>
+ <li><a href="output/pydis_core.utils.error_handling.commands.html#module-pydis_core.utils.error_handling.commands">pydis_core.utils.error_handling.commands</a>
+</li>
+ <li><a href="output/pydis_core.utils.error_handling.commands.abc.html#module-pydis_core.utils.error_handling.commands.abc">pydis_core.utils.error_handling.commands.abc</a>
+</li>
+ <li><a href="output/pydis_core.utils.error_handling.commands.manager.html#module-pydis_core.utils.error_handling.commands.manager">pydis_core.utils.error_handling.commands.manager</a>
+</li>
+ <li><a href="output/pydis_core.utils.function.html#module-pydis_core.utils.function">pydis_core.utils.function</a>
+</li>
+ <li><a href="output/pydis_core.utils.interactions.html#module-pydis_core.utils.interactions">pydis_core.utils.interactions</a>
+</li>
+ <li><a href="output/pydis_core.utils.lock.html#module-pydis_core.utils.lock">pydis_core.utils.lock</a>
+</li>
+ <li><a href="output/pydis_core.utils.logging.html#module-pydis_core.utils.logging">pydis_core.utils.logging</a>
+</li>
+ <li><a href="output/pydis_core.utils.members.html#module-pydis_core.utils.members">pydis_core.utils.members</a>
+</li>
+ <li><a href="output/pydis_core.utils.messages.html#module-pydis_core.utils.messages">pydis_core.utils.messages</a>
+</li>
+ <li><a href="output/pydis_core.utils.pagination.html#module-pydis_core.utils.pagination">pydis_core.utils.pagination</a>
+</li>
+ <li><a href="output/pydis_core.utils.paste_service.html#module-pydis_core.utils.paste_service">pydis_core.utils.paste_service</a>
+</li>
+ <li><a href="output/pydis_core.utils.regex.html#module-pydis_core.utils.regex">pydis_core.utils.regex</a>
+</li>
+ <li><a href="output/pydis_core.utils.scheduling.html#module-pydis_core.utils.scheduling">pydis_core.utils.scheduling</a>
+</li>
+ </ul></li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="O" class="genindex-section">
+ <h2>O</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.on_guild_available">on_guild_available() (BotBase method)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.on_guild_unavailable">on_guild_unavailable() (BotBase method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout">on_timeout() (ViewWithUserAndRoleCheck method)</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="P" class="genindex-section">
+ <h2>P</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.cooldown.html#pydis_core.utils.cooldown.P">P (in module pydis_core.utils.cooldown)</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.LinePaginator.paginate">paginate() (LinePaginator class method)</a>, <a href="output/pydis_core.utils.pagination.html#pydis_core.utils.pagination.LinePaginator.paginate">[1]</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.PaginationEmojis">PaginationEmojis (class in pydis_core)</a>
+
+ <ul>
+ <li><a href="output/pydis_core.utils.pagination.html#pydis_core.utils.pagination.PaginationEmojis">(class in pydis_core.utils.pagination)</a>
+</li>
+ </ul></li>
+ <li><a href="output/pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteFile">PasteFile (class in pydis_core.utils.paste_service)</a>
+</li>
+ <li><a href="output/pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteResponse">PasteResponse (class in pydis_core.utils.paste_service)</a>
+</li>
+ <li><a href="output/pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteTooLongError">PasteTooLongError</a>
+</li>
+ <li><a href="output/pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteUnsupportedLexerError">PasteUnsupportedLexerError</a>
+</li>
+ <li><a href="output/pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteUploadError">PasteUploadError</a>
+</li>
+ <li><a href="output/pydis_core.site_api.html#pydis_core.site_api.APIClient.patch">patch() (APIClient method)</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.ping_services">ping_services() (BotBase method)</a>
+</li>
+ <li><a href="output/pydis_core.site_api.html#pydis_core.site_api.APIClient.post">post() (APIClient method)</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.process_commands">process_commands() (BotBase method)</a>
+</li>
+ <li><a href="output/pydis_core.site_api.html#pydis_core.site_api.APIClient.put">put() (APIClient method)</a>
+</li>
+ <li>
+ pydis_core
+
+ <ul>
+ <li><a href="output/pydis_core.html#module-pydis_core">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.async_stats
+
+ <ul>
+ <li><a href="output/pydis_core.async_stats.html#module-pydis_core.async_stats">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.exts
+
+ <ul>
+ <li><a href="output/pydis_core.exts.html#module-pydis_core.exts">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.site_api
+
+ <ul>
+ <li><a href="output/pydis_core.site_api.html#module-pydis_core.site_api">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils
+
+ <ul>
+ <li><a href="output/pydis_core.utils.html#module-pydis_core.utils">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.caching
+
+ <ul>
+ <li><a href="output/pydis_core.utils.caching.html#module-pydis_core.utils.caching">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.channel
+
+ <ul>
+ <li><a href="output/pydis_core.utils.channel.html#module-pydis_core.utils.channel">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.checks
+
+ <ul>
+ <li><a href="output/pydis_core.utils.checks.html#module-pydis_core.utils.checks">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.commands
+
+ <ul>
+ <li><a href="output/pydis_core.utils.commands.html#module-pydis_core.utils.commands">module</a>
+</li>
+ </ul></li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li>
+ pydis_core.utils.cooldown
+
+ <ul>
+ <li><a href="output/pydis_core.utils.cooldown.html#module-pydis_core.utils.cooldown">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.error_handling
+
+ <ul>
+ <li><a href="output/pydis_core.utils.error_handling.html#module-pydis_core.utils.error_handling">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.error_handling.commands
+
+ <ul>
+ <li><a href="output/pydis_core.utils.error_handling.commands.html#module-pydis_core.utils.error_handling.commands">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.error_handling.commands.abc
+
+ <ul>
+ <li><a href="output/pydis_core.utils.error_handling.commands.abc.html#module-pydis_core.utils.error_handling.commands.abc">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.error_handling.commands.manager
+
+ <ul>
+ <li><a href="output/pydis_core.utils.error_handling.commands.manager.html#module-pydis_core.utils.error_handling.commands.manager">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.function
+
+ <ul>
+ <li><a href="output/pydis_core.utils.function.html#module-pydis_core.utils.function">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.interactions
+
+ <ul>
+ <li><a href="output/pydis_core.utils.interactions.html#module-pydis_core.utils.interactions">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.lock
+
+ <ul>
+ <li><a href="output/pydis_core.utils.lock.html#module-pydis_core.utils.lock">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.logging
+
+ <ul>
+ <li><a href="output/pydis_core.utils.logging.html#module-pydis_core.utils.logging">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.members
+
+ <ul>
+ <li><a href="output/pydis_core.utils.members.html#module-pydis_core.utils.members">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.messages
+
+ <ul>
+ <li><a href="output/pydis_core.utils.messages.html#module-pydis_core.utils.messages">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.pagination
+
+ <ul>
+ <li><a href="output/pydis_core.utils.pagination.html#module-pydis_core.utils.pagination">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.paste_service
+
+ <ul>
+ <li><a href="output/pydis_core.utils.paste_service.html#module-pydis_core.utils.paste_service">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.regex
+
+ <ul>
+ <li><a href="output/pydis_core.utils.regex.html#module-pydis_core.utils.regex">module</a>
+</li>
+ </ul></li>
+ <li>
+ pydis_core.utils.scheduling
+
+ <ul>
+ <li><a href="output/pydis_core.utils.scheduling.html#module-pydis_core.utils.scheduling">module</a>
+</li>
+ </ul></li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="R" class="genindex-section">
+ <h2>R</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.cooldown.html#pydis_core.utils.cooldown.R">R (class in pydis_core.utils.cooldown)</a>
+</li>
+ <li><a href="output/pydis_core.utils.regex.html#pydis_core.utils.regex.RAW_CODE_REGEX">RAW_CODE_REGEX (in module pydis_core.utils.regex)</a>
+</li>
+ <li><a href="output/pydis_core.utils.messages.html#pydis_core.utils.messages.reaction_check">reaction_check() (in module pydis_core.utils.messages)</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.redis_session">redis_session (BotBase attribute)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.register_command_error_manager">register_command_error_manager() (BotBase method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.CommandErrorManager.register_handler">register_handler() (CommandErrorManager method)</a>, <a href="output/pydis_core.utils.error_handling.commands.manager.html#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.register_handler">[1]</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.remove_command">remove_command() (BotBase method)</a>
+</li>
+ <li><a href="output/pydis_core.site_api.html#pydis_core.site_api.APIClient.request">request() (APIClient method)</a>
+</li>
+ <li><a href="output/pydis_core.site_api.html#pydis_core.site_api.ResponseCodeError">ResponseCodeError</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="S" class="genindex-section">
+ <h2>S</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler.schedule">schedule() (Scheduler method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler.schedule_at">schedule_at() (Scheduler method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler.schedule_later">schedule_later() (Scheduler method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler">Scheduler (class in pydis_core.utils.scheduling)</a>
+</li>
+ <li><a href="output/pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.send_to_paste_service">send_to_paste_service() (in module pydis_core.utils.paste_service)</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.setup_hook">setup_hook() (BotBase method)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent">SharedEvent (class in pydis_core.utils.lock)</a>
+</li>
+ <li><a href="output/pydis_core.utils.error_handling.commands.abc.html#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.should_handle_error">should_handle_error() (AbstractCommandErrorHandler method)</a>, <a href="output/pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.should_handle_error">[1]</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.StartupError">StartupError</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.stats">stats (BotBase attribute)</a>
+</li>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.statsd_url">statsd_url (BotBase attribute)</a>
+</li>
+ <li><a href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop">stop() (ViewWithUserAndRoleCheck method)</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="T" class="genindex-section">
+ <h2>T</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.logging.html#pydis_core.utils.logging.CustomLogger.trace">trace() (CustomLogger method)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError.type">type (LockedResourceError attribute)</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="U" class="genindex-section">
+ <h2>U</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.html#pydis_core.utils.unqualify">unqualify() (in module pydis_core.utils)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.function.html#pydis_core.utils.function.update_wrapper_globals">update_wrapper_globals() (in module pydis_core.utils.function)</a>
+</li>
+ <li><a href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.user_has_access">user_has_access() (in module pydis_core.utils.interactions)</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="V" class="genindex-section">
+ <h2>V</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck">ViewWithUserAndRoleCheck (class in pydis_core.utils.interactions)</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+<section id="W" class="genindex-section">
+ <h2>W</h2>
+ <table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent.wait">wait() (SharedEvent method)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.wait_until_guild_available">wait_until_guild_available() (BotBase method)</a>
+</li>
+ </ul></td>
+ </tr></table>
+</section>
+
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+
+
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer no-toc">
+
+
+
+ </aside>
+ </div>
+</div><script src="_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="_static/doctools.js?v=888ff710"></script>
+ <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/index.html b/v11.0.1/index.html
new file mode 100644
index 00000000..a5c24d07
--- /dev/null
+++ b/v11.0.1/index.html
@@ -0,0 +1,525 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="./">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Pydis Core" href="output/pydis_core.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="#"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="#">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul>
+<li class="toctree-l1 has-children"><a class="reference internal" href="output/pydis_core.html">Pydis Core</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 has-children"><a class="reference internal" href="output/pydis_core.utils.html">Utils</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l3 has-children"><a class="reference internal" href="output/pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../main/index.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.2/index.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.1/index.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.0/index.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.8.0/index.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.7.0/index.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.6.0/index.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.5.1/index.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.5.0/index.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.4.1/index.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.4.0/index.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.3.0/index.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.2.0/index.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.10.0-alpha.2/index.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.10.0-alpha.1/index.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.1.1/index.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.0.0/index.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.7.0/index.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.6.0/index.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.5.1/index.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.5.0/index.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.4.0/index.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.3.0/index.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.2.0/index.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.1.0/index.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.0.0/index.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="bot-core-project-documentation">
+<h1>Bot Core Project Documentation<a class="headerlink" href="#bot-core-project-documentation" title="Link to this heading">#</a></h1>
+</section>
+<section id="reference">
+<h1>Reference<a class="headerlink" href="#reference" title="Link to this heading">#</a></h1>
+<div class="toctree-wrapper compound">
+<p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="output/pydis_core.html">Pydis Core</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase"><code class="docutils literal notranslate"><span class="pre">BotBase</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.guild_id"><code class="docutils literal notranslate"><span class="pre">BotBase.guild_id</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.http_session"><code class="docutils literal notranslate"><span class="pre">BotBase.http_session</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.api_client"><code class="docutils literal notranslate"><span class="pre">BotBase.api_client</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.statsd_url"><code class="docutils literal notranslate"><span class="pre">BotBase.statsd_url</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.redis_session"><code class="docutils literal notranslate"><span class="pre">BotBase.redis_session</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.stats"><code class="docutils literal notranslate"><span class="pre">BotBase.stats</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.all_extensions"><code class="docutils literal notranslate"><span class="pre">BotBase.all_extensions</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.__init__"><code class="docutils literal notranslate"><span class="pre">BotBase.__init__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.add_cog"><code class="docutils literal notranslate"><span class="pre">BotBase.add_cog()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.add_command"><code class="docutils literal notranslate"><span class="pre">BotBase.add_command()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.clear"><code class="docutils literal notranslate"><span class="pre">BotBase.clear()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.close"><code class="docutils literal notranslate"><span class="pre">BotBase.close()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.load_extensions"><code class="docutils literal notranslate"><span class="pre">BotBase.load_extensions()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.log_to_dev_log"><code class="docutils literal notranslate"><span class="pre">BotBase.log_to_dev_log()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.on_guild_available"><code class="docutils literal notranslate"><span class="pre">BotBase.on_guild_available()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.on_guild_unavailable"><code class="docutils literal notranslate"><span class="pre">BotBase.on_guild_unavailable()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.ping_services"><code class="docutils literal notranslate"><span class="pre">BotBase.ping_services()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.process_commands"><code class="docutils literal notranslate"><span class="pre">BotBase.process_commands()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.register_command_error_manager"><code class="docutils literal notranslate"><span class="pre">BotBase.register_command_error_manager()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.remove_command"><code class="docutils literal notranslate"><span class="pre">BotBase.remove_command()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.setup_hook"><code class="docutils literal notranslate"><span class="pre">BotBase.setup_hook()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase.wait_until_guild_available"><code class="docutils literal notranslate"><span class="pre">BotBase.wait_until_guild_available()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.html#pydis_core.EmptyPaginatorEmbedError"><code class="docutils literal notranslate"><span class="pre">EmptyPaginatorEmbedError</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.html#pydis_core.LinePaginator"><code class="docutils literal notranslate"><span class="pre">LinePaginator</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.LinePaginator.__init__"><code class="docutils literal notranslate"><span class="pre">LinePaginator.__init__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.LinePaginator.add_line"><code class="docutils literal notranslate"><span class="pre">LinePaginator.add_line()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.LinePaginator.paginate"><code class="docutils literal notranslate"><span class="pre">LinePaginator.paginate()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.html#pydis_core.PaginationEmojis"><code class="docutils literal notranslate"><span class="pre">PaginationEmojis</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.PaginationEmojis.model_computed_fields"><code class="docutils literal notranslate"><span class="pre">PaginationEmojis.model_computed_fields</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.PaginationEmojis.model_config"><code class="docutils literal notranslate"><span class="pre">PaginationEmojis.model_config</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.PaginationEmojis.model_fields"><code class="docutils literal notranslate"><span class="pre">PaginationEmojis.model_fields</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.html#pydis_core.StartupError"><code class="docutils literal notranslate"><span class="pre">StartupError</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.html#pydis_core.StartupError.__init__"><code class="docutils literal notranslate"><span class="pre">StartupError.__init__()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.html">Utils</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="output/pydis_core.utils.html#pydis_core.utils.apply_monkey_patches"><code class="docutils literal notranslate"><span class="pre">apply_monkey_patches()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="output/pydis_core.utils.html#pydis_core.utils.unqualify"><code class="docutils literal notranslate"><span class="pre">unqualify()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="output/pydis_core.utils.html#subpackages">Subpackages</a></li>
+<li class="toctree-l4"><a class="reference internal" href="output/pydis_core.utils.html#submodules">Submodules</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.html#submodules">Submodules</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.async_stats.html">async_stats</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="output/pydis_core.async_stats.html#pydis_core.async_stats.AsyncStatsClient"><code class="docutils literal notranslate"><span class="pre">AsyncStatsClient</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.site_api.html">site_api</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="output/pydis_core.site_api.html#pydis_core.site_api.APIClient"><code class="docutils literal notranslate"><span class="pre">APIClient</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="output/pydis_core.site_api.html#pydis_core.site_api.ResponseCodeError"><code class="docutils literal notranslate"><span class="pre">ResponseCodeError</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="toctree-wrapper compound">
+</div>
+</section>
+<section id="extras">
+<h1>Extras<a class="headerlink" href="#extras" title="Link to this heading">#</a></h1>
+<ul class="simple">
+<li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li>
+<li><p><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></p></li>
+<li><p><a class="reference external" href="https://github.com/python-discord/bot-core/blob/main/docs/README.md">Information</a></p></li>
+<li><p><a class="reference internal" href="development.html"><span class="doc">Local Development &amp; Testing</span></a></p></li>
+<li><p><a class="reference internal" href="changelog.html"><span class="doc">Changelog</span></a></p></li>
+</ul>
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="output/pydis_core.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">Pydis Core</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer no-toc">
+
+
+
+ </aside>
+ </div>
+</div><script src="_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="_static/doctools.js?v=888ff710"></script>
+ <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/index_redirect.html b/v11.0.1/index_redirect.html
new file mode 100644
index 00000000..96d2c273
--- /dev/null
+++ b/v11.0.1/index_redirect.html
@@ -0,0 +1,63 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="./">
+ <head>
+
+ <script>window.location.replace("./main/index.html")</script>
+ <meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+
+ <title>Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+ <div style="display: flex; text-align: center; justify-content: center; align-items: center; height: 100%;">
+ <h2><a href="./main/index.html">
+ Please click here if you were not redirected to the latest build.
+ </a></h2>
+ </div>
+<script src="_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="_static/doctools.js?v=888ff710"></script>
+ <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/objects.inv b/v11.0.1/objects.inv
new file mode 100644
index 00000000..59dec1ed
--- /dev/null
+++ b/v11.0.1/objects.inv
Binary files differ
diff --git a/v11.0.1/output/pydis_core.async_stats.html b/v11.0.1/output/pydis_core.async_stats.html
new file mode 100644
index 00000000..2f0dc2b2
--- /dev/null
+++ b/v11.0.1/output/pydis_core.async_stats.html
@@ -0,0 +1,506 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="site_api" href="pydis_core.site_api.html" /><link rel="prev" title="scheduling" href="pydis_core.utils.scheduling.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>async_stats - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.async_stats.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/output/pydis_core.async_stats.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/output/pydis_core.async_stats.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/output/pydis_core.async_stats.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/output/pydis_core.async_stats.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/output/pydis_core.async_stats.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/output/pydis_core.async_stats.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/output/pydis_core.async_stats.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/output/pydis_core.async_stats.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/output/pydis_core.async_stats.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/output/pydis_core.async_stats.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/output/pydis_core.async_stats.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/output/pydis_core.async_stats.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/output/pydis_core.async_stats.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/output/pydis_core.async_stats.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/output/pydis_core.async_stats.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.async_stats.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.async_stats.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.async_stats.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/output/pydis_core.async_stats.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/output/pydis_core.async_stats.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/output/pydis_core.async_stats.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/output/pydis_core.async_stats.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/output/pydis_core.async_stats.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/output/pydis_core.async_stats.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/output/pydis_core.async_stats.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.async_stats">
+<span id="async-stats"></span><h1>async_stats<a class="headerlink" href="#module-pydis_core.async_stats" title="Link to this heading">#</a></h1>
+<p>An async transport method for statsd communication.</p>
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.async_stats.AsyncStatsClient">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">AsyncStatsClient</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loop</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">host</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'localhost'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8125</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/async_stats.py#L11-L54"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.async_stats.AsyncStatsClient" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://statsd.readthedocs.io/en/v3.3/reference.html#statsd.client.base.StatsClientBase" title="(in Python StatsD - Edited by Python Discord to extend statsd base objects to also allow referencing statsd.client.base.StatsClientBase v3.3)"><code class="xref py py-class docutils literal notranslate"><span class="pre">StatsClientBase</span></code></a></p>
+<p>An async implementation of <a class="reference external" href="https://statsd.readthedocs.io/en/v3.3/reference.html#statsd.client.base.StatsClientBase" title="(in Python StatsD - Edited by Python Discord to extend statsd base objects to also allow referencing statsd.client.base.StatsClientBase v3.3)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">statsd.client.base.StatsClientBase</span></code></a> that supports async stat communication.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.async_stats.AsyncStatsClient.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loop</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">host</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'localhost'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8125</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/async_stats.py#L14-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.async_stats.AsyncStatsClient.__init__" title="Link to this definition">#</a></dt>
+<dd><p>Create a new <a class="reference internal" href="#pydis_core.async_stats.AsyncStatsClient" title="pydis_core.async_stats.AsyncStatsClient"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AsyncStatsClient</span></code></a>.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>loop</strong> (<a class="reference external" href="https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.AbstractEventLoop" title="(in Python v3.12)"><em>asyncio.AbstractEventLoop</em></a>) – The event loop to use when creating the
+<a class="reference external" href="https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.loop.create_datagram_endpoint" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">asyncio.loop.create_datagram_endpoint</span></code></a>.</p></li>
+<li><p><strong>host</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></span>) – The host to connect to.</p></li>
+<li><p><strong>port</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></span>) – The port to connect to.</p></li>
+<li><p><strong>prefix</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span>) – The prefix to use for all stats.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.async_stats.AsyncStatsClient.create_socket">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">create_socket</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/async_stats.py#L39-L46"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.async_stats.AsyncStatsClient.create_socket" title="Link to this definition">#</a></dt>
+<dd><p>Use <a class="reference external" href="https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.loop.create_datagram_endpoint" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">asyncio.loop.create_datagram_endpoint</span></code></a> from the loop given on init to create a socket.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.site_api.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">site_api</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.scheduling.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">scheduling</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">async_stats</a><ul>
+<li><a class="reference internal" href="#pydis_core.async_stats.AsyncStatsClient"><code class="docutils literal notranslate"><span class="pre">AsyncStatsClient</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.async_stats.AsyncStatsClient.__init__"><code class="docutils literal notranslate"><span class="pre">AsyncStatsClient.__init__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.async_stats.AsyncStatsClient.create_socket"><code class="docutils literal notranslate"><span class="pre">AsyncStatsClient.create_socket()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.exts.html b/v11.0.1/output/pydis_core.exts.html
new file mode 100644
index 00000000..8ddab6ce
--- /dev/null
+++ b/v11.0.1/output/pydis_core.exts.html
@@ -0,0 +1,448 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Utils" href="pydis_core.utils.html" /><link rel="prev" title="Pydis Core" href="pydis_core.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>Exts - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">Exts</a></li>
+<li class="toctree-l2 has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.exts.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/output/pydis_core.exts.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/output/pydis_core.exts.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/output/pydis_core.exts.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/output/pydis_core.exts.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/output/pydis_core.exts.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/output/pydis_core.exts.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/output/pydis_core.exts.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/output/pydis_core.exts.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/output/pydis_core.exts.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/output/pydis_core.exts.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/output/pydis_core.exts.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/output/pydis_core.exts.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/output/pydis_core.exts.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/output/pydis_core.exts.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/output/pydis_core.exts.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.exts.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.exts.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.exts.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/output/pydis_core.exts.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/output/pydis_core.exts.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/output/pydis_core.exts.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/output/pydis_core.exts.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/output/pydis_core.exts.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/output/pydis_core.exts.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/output/pydis_core.exts.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.exts">
+<span id="exts"></span><h1>Exts<a class="headerlink" href="#module-pydis_core.exts" title="Link to this heading">#</a></h1>
+<p>Reusable Discord cogs.</p>
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">Utils</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">Pydis Core</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer no-toc">
+
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.html b/v11.0.1/output/pydis_core.html
new file mode 100644
index 00000000..f44d1013
--- /dev/null
+++ b/v11.0.1/output/pydis_core.html
@@ -0,0 +1,1077 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Exts" href="pydis_core.exts.html" /><link rel="prev" title="Bot Core Project Documentation" href="../index.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>Pydis Core - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children current-page"><a class="current reference internal" href="#">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/output/pydis_core.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/output/pydis_core.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/output/pydis_core.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/output/pydis_core.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/output/pydis_core.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/output/pydis_core.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/output/pydis_core.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/output/pydis_core.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/output/pydis_core.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/output/pydis_core.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/output/pydis_core.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/output/pydis_core.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/output/pydis_core.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/output/pydis_core.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/output/pydis_core.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/output/pydis_core.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/output/pydis_core.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/output/pydis_core.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/output/pydis_core.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/output/pydis_core.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/output/pydis_core.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/output/pydis_core.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core">
+<span id="pydis-core"></span><h1>Pydis Core<a class="headerlink" href="#module-pydis_core" title="Link to this heading">#</a></h1>
+<p>Useful utilities and tools for Discord bot development.</p>
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.BotBase">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">BotBase</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">guild_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">http_session</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">redis_session</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">api_client</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">statsd_url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Bot" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Bot</span></code></a></p>
+<p>A sub-class that implements many common features that Python Discord bots use.</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.BotBase.guild_id">
+<span class="sig-name descname"><span class="pre">guild_id</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.guild_id" title="Link to this definition">#</a></dt>
+<dd><p>ID of the guild that the bot belongs to.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)">int</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.BotBase.http_session">
+<span class="sig-name descname"><span class="pre">http_session</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.http_session" title="Link to this definition">#</a></dt>
+<dd><p>The http session used for sending out HTTP requests.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.aiohttp.org/en/stable/client_reference.html#aiohttp.ClientSession" title="(in aiohttp v3.9)">aiohttp.ClientSession</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.BotBase.api_client">
+<span class="sig-name descname"><span class="pre">api_client</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.api_client" title="Link to this definition">#</a></dt>
+<dd><p>The API client used for communications with the site service.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="pydis_core.site_api.html#pydis_core.site_api.APIClient" title="pydis_core.site_api.APIClient">pydis_core.site_api.APIClient</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.BotBase.statsd_url">
+<span class="sig-name descname"><span class="pre">statsd_url</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.statsd_url" title="Link to this definition">#</a></dt>
+<dd><p>The url that statsd sends metrics to.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)">str</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.BotBase.redis_session">
+<span class="sig-name descname"><span class="pre">redis_session</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.redis_session" title="Link to this definition">#</a></dt>
+<dd><p>The redis session used to communicate with the Redis instance.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p>async_rediscache.RedisSession</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.BotBase.stats">
+<span class="sig-name descname"><span class="pre">stats</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.stats" title="Link to this definition">#</a></dt>
+<dd><p>The statsd client that sends metrics.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="pydis_core.async_stats.html#pydis_core.async_stats.AsyncStatsClient" title="pydis_core.async_stats.AsyncStatsClient">pydis_core.async_stats.AsyncStatsClient</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.BotBase.all_extensions">
+<span class="sig-name descname"><span class="pre">all_extensions</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L54-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.all_extensions" title="Link to this definition">#</a></dt>
+<dd><p>All extensions that were found within the <code class="docutils literal notranslate"><span class="pre">module</span></code> passed to
+<code class="docutils literal notranslate"><span class="pre">self.load_extensions</span></code>. Use <code class="docutils literal notranslate"><span class="pre">self.extensions</span></code> to get the loaded extensions.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#frozenset" title="(in Python v3.12)">frozenset</a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)">str</a>]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.BotBase.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">guild_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">http_session</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">redis_session</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">api_client</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">statsd_url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L70-L123"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.__init__" title="Link to this definition">#</a></dt>
+<dd><p>Initialise the base bot instance.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>guild_id</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></span>) – The ID of the guild used for <a class="reference internal" href="#pydis_core.BotBase.wait_until_guild_available" title="pydis_core.BotBase.wait_until_guild_available"><code class="xref py py-func docutils literal notranslate"><span class="pre">wait_until_guild_available()</span></code></a>.</p></li>
+<li><p><strong>allowed_roles</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a></span>) – A list of role IDs that the bot is allowed to mention.</p></li>
+<li><p><strong>http_session</strong> (<a class="reference external" href="https://docs.aiohttp.org/en/stable/client_reference.html#aiohttp.ClientSession" title="(in aiohttp v3.9)"><em>aiohttp.ClientSession</em></a>) – The session to use for the bot.</p></li>
+<li><p><strong>redis_session</strong> (<span class="sphinx_autodoc_typehints-type"><code class="xref py py-class docutils literal notranslate"><span class="pre">RedisSession</span></code> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span>) – The <a class="reference external" href="https://github.com/SebastiaanZ/async-rediscache#creating-a-redissession">async_rediscache.RedisSession</a> to use for the bot.</p></li>
+<li><p><strong>api_client</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference internal" href="pydis_core.site_api.html#pydis_core.site_api.APIClient" title="pydis_core.site_api.APIClient"><code class="xref py py-class docutils literal notranslate"><span class="pre">APIClient</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span>) – The <a class="reference internal" href="pydis_core.site_api.html#pydis_core.site_api.APIClient" title="pydis_core.site_api.APIClient"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.site_api.APIClient</span></code></a> instance to use for the bot.</p></li>
+<li><p><strong>statsd_url</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span>) – The URL of the statsd server to use for the bot. If not given,
+a dummy statsd client will be created.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.BotBase.add_cog">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">add_cog</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cog</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L212-L216"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.add_cog" title="Link to this definition">#</a></dt>
+<dd><p>Add the given <code class="docutils literal notranslate"><span class="pre">cog</span></code> to the bot and log the operation.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.BotBase.add_command">
+<span class="sig-name descname"><span class="pre">add_command</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">command</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L217-L221"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.add_command" title="Link to this definition">#</a></dt>
+<dd><p>Add <code class="docutils literal notranslate"><span class="pre">command</span></code> as normal and then add its root aliases to the bot.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.BotBase.clear">
+<span class="sig-name descname"><span class="pre">clear</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L237-L240"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.clear" title="Link to this definition">#</a></dt>
+<dd><p>Not implemented! Re-instantiate the bot instead of attempting to re-use a closed one.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.BotBase.close">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L326-L357"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.close" title="Link to this definition">#</a></dt>
+<dd><p>Close the Discord connection, and the aiohttp session, connector, statsd client, and resolver.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.BotBase.load_extensions">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">load_extensions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">module</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sync_app_commands</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L180-L190"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.load_extensions" title="Link to this definition">#</a></dt>
+<dd><p>Load all the extensions within the given <code class="docutils literal notranslate"><span class="pre">module</span></code> and save them to <code class="docutils literal notranslate"><span class="pre">self.all_extensions</span></code>.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>sync_app_commands</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></span>) – Whether to sync app commands after all extensions are loaded.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.BotBase.log_to_dev_log">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">log_to_dev_log</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L265-L267"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.log_to_dev_log" title="Link to this definition">#</a></dt>
+<dd><p>Log the given message to #dev-log.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.BotBase.on_guild_available">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">on_guild_available</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">guild</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L248-L264"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.on_guild_available" title="Link to this definition">#</a></dt>
+<dd><p>Set the internal guild available event when self.guild_id becomes available.</p>
+<p>If the cache appears to still be empty (no members, no channels, or no roles), the event
+will not be set and <cite>guild_available_but_cache_empty</cite> event will be emitted.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.BotBase.on_guild_unavailable">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">on_guild_unavailable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">guild</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L241-L247"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.on_guild_unavailable" title="Link to this definition">#</a></dt>
+<dd><p>Clear the internal guild available event when self.guild_id becomes unavailable.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.BotBase.ping_services">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ping_services</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L323-L325"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.ping_services" title="Link to this definition">#</a></dt>
+<dd><p>Ping all required services on setup to ensure they are up before starting.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.BotBase.process_commands">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">process_commands</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L277-L286"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.process_commands" title="Link to this definition">#</a></dt>
+<dd><p>Overwrite default Discord.py behaviour to process commands only after ensuring extensions are loaded.</p>
+<p>This extension check is only relevant for clients that make use of <a class="reference internal" href="#pydis_core.BotBase.load_extensions" title="pydis_core.BotBase.load_extensions"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.BotBase.load_extensions</span></code></a>.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.BotBase.register_command_error_manager">
+<span class="sig-name descname"><span class="pre">register_command_error_manager</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">manager</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L124-L133"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.register_command_error_manager" title="Link to this definition">#</a></dt>
+<dd><p>Bind an instance of the command error manager to both the bot and the command tree.</p>
+<p>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.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.BotBase.remove_command">
+<span class="sig-name descname"><span class="pre">remove_command</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L222-L236"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.remove_command" title="Link to this definition">#</a></dt>
+<dd><p>Remove a command/alias as normal and then remove its root aliases from the bot.</p>
+<p>Individual root aliases cannot be removed by this function.
+To remove them, either remove the entire command or manually edit <cite>bot.all_commands</cite>.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Command" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Command</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.BotBase.setup_hook">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">setup_hook</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L287-L322"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.setup_hook" title="Link to this definition">#</a></dt>
+<dd><p>An async init to startup generic services.</p>
+<p>Connects to statsd, and calls
+<a class="reference internal" href="pydis_core.async_stats.html#pydis_core.async_stats.AsyncStatsClient.create_socket" title="pydis_core.async_stats.AsyncStatsClient.create_socket"><code class="xref py py-func docutils literal notranslate"><span class="pre">AsyncStatsClient.create_socket</span></code></a>
+and <a class="reference internal" href="#pydis_core.BotBase.ping_services" title="pydis_core.BotBase.ping_services"><code class="xref py py-func docutils literal notranslate"><span class="pre">ping_services()</span></code></a>.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.BotBase.wait_until_guild_available">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">wait_until_guild_available</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L268-L276"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.wait_until_guild_available" title="Link to this definition">#</a></dt>
+<dd><p>Wait until the guild that matches the <code class="docutils literal notranslate"><span class="pre">guild_id</span></code> given at init is available (and the cache is ready).</p>
+<p>The on_ready event is inadequate because it only waits 2 seconds for a GUILD_CREATE
+gateway event before giving up and thus not populating the cache for unavailable guilds.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="pydis_core.EmptyPaginatorEmbedError">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">EmptyPaginatorEmbedError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L26-L28"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.EmptyPaginatorEmbedError" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
+<p>Raised when attempting to paginate with empty contents.</p>
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.LinePaginator">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LinePaginator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L30-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Paginator" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Paginator</span></code></a></p>
+<p>A class that aids in paginating code blocks for Discord messages.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>pagination_emojis</strong> (<a class="reference internal" href="#pydis_core.PaginationEmojis" title="pydis_core.PaginationEmojis"><em>PaginationEmojis</em></a>) – The emojis used to navigate pages.</p></li>
+<li><p><strong>prefix</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – The prefix inserted to every page. e.g. three backticks.</p></li>
+<li><p><strong>suffix</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – The suffix appended at the end of every page. e.g. three backticks.</p></li>
+<li><p><strong>max_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a>) – The maximum amount of codepoints allowed in a page.</p></li>
+<li><p><strong>scale_to_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a>) – The maximum amount of characters a single line can scale up to.</p></li>
+<li><p><strong>max_lines</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a>) – The maximum amount of lines allowed in a page.</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.LinePaginator.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L43-L81"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator.__init__" title="Link to this definition">#</a></dt>
+<dd><p>This function overrides the Paginator.__init__ from inside discord.ext.commands.</p>
+<p>It overrides in order to allow us to configure the maximum number of lines per page.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.LinePaginator.add_line">
+<span class="sig-name descname"><span class="pre">add_line</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">line</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L82-L134"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator.add_line" title="Link to this definition">#</a></dt>
+<dd><p>Adds a line to the current page.</p>
+<p>If a line on a page exceeds <cite>max_size</cite> characters, then <cite>max_size</cite> will go up to
+<cite>scale_to_size</cite> for a single line before creating a new page for the overflow words. If it
+is still exceeded, the excess characters are stored and placed on the next pages unti
+there are none remaining (by word boundary). The line is truncated if <cite>scale_to_size</cite> is
+still exceeded after attempting to continue onto the next page.</p>
+<p>In the case that the page already contains one or more lines and the new lines would cause
+<cite>max_size</cite> to be exceeded, a new page is created. This is done in order to make a best
+effort to avoid breaking up single lines across pages, while keeping the total length of the
+page at a reasonable size.</p>
+<p>This function overrides the <cite>Paginator.add_line</cite> from inside <cite>discord.ext.commands</cite>.</p>
+<p>It overrides in order to allow us to configure the maximum number of lines per page.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>line</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – The line to add to the paginated content.</p></li>
+<li><p><strong>empty</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><em>bool</em></a>) – Indicates whether an empty line should be added at the end.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.LinePaginator.paginate">
+<em class="property"><span class="pre">async</span><span class="w"> </span><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">paginate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pagination_emojis</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lines</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">embed</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">500</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">restrict_to_user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">300</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">footer_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exception_on_empty_embed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reply</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L189-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator.paginate" title="Link to this definition">#</a></dt>
+<dd><p>Use a paginator and set of reactions to provide pagination over a set of lines.</p>
+<p>The reactions are used to switch page, or to finish with pagination.</p>
+<p>When used, this will send a message using <cite>ctx.send()</cite> and apply a set of reactions to it. These reactions may
+be used to change page, or to remove pagination from the message.</p>
+<p>Pagination will also be removed automatically if no reaction is added for five minutes (300 seconds).</p>
+<p>The interaction will be limited to <cite>restrict_to_user</cite> (ctx.author by default) or
+to any user with a moderation role.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>pagination_emojis</strong> (<a class="reference internal" href="#pydis_core.PaginationEmojis" title="pydis_core.PaginationEmojis"><em>PaginationEmojis</em></a>) – The emojis used to navigate pages.</p></li>
+<li><p><strong>lines</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.12)"><em>list</em></a><em>[</em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a><em>]</em>) – A list of lines to be added to the paginated content.</p></li>
+<li><p><strong>ctx</strong> (<a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Context" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.ext.commands.Context</span></code></a>) – The context in which the pagination is needed.</p></li>
+<li><p><strong>embed</strong> (<a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Embed" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.Embed</span></code></a>) – The embed that holds the content, it serves as the page.</p></li>
+<li><p><strong>prefix</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – The prefix inserted to every page. e.g. three backticks.</p></li>
+<li><p><strong>suffix</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – The suffix appended at the end of every page. e.g. three backticks.</p></li>
+<li><p><strong>max_lines</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a>) – The maximum amount of lines allowed in a page.</p></li>
+<li><p><strong>max_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a>) – The maximum amount of codepoints allowed in a page.</p></li>
+<li><p><strong>scale_to_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a>) – The maximum amount of characters a single line can scale up to.</p></li>
+<li><p><strong>empty</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><em>bool</em></a>) – Indicates whether an empty line should be added to each provided line.</p></li>
+<li><p><strong>restrict_to_user</strong> (<a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.User" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.User</span></code></a>) – The user to whom interaction with the pages should be restricted.</p></li>
+<li><p><strong>timeout</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a>) – The timeout after which users cannot change pages anymore.</p></li>
+<li><p><strong>footer_text</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – Text to be added as a footer for each page.</p></li>
+<li><p><strong>url</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – The url to be set for the pagination embed.</p></li>
+<li><p><strong>exception_on_empty_embed</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><em>bool</em></a>) – Indicates whether to raise an exception when no lines are provided.</p></li>
+<li><p><strong>reply</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><em>bool</em></a>) – Indicates whether to send the page as a reply to the context’s message.</p></li>
+<li><p><strong>allowed_roles</strong> (<em>Sequence</em><em>[</em><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a><em>]</em>) – A list of role ids that are allowed to change pages.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Message" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Message</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+<p>Example:
+&gt;&gt;&gt; embed = discord.Embed()
+&gt;&gt;&gt; embed.set_author(name=”Some Operation”, url=url, icon_url=icon)
+&gt;&gt;&gt; await LinePaginator.paginate(pagination_emojis, [line for line in lines], ctx, embed)</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.PaginationEmojis">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PaginationEmojis</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L16-L24"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.PaginationEmojis" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.pydantic.dev/latest/api/base_model/#pydantic.BaseModel" title="(in Pydantic v0.0.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseModel</span></code></a></p>
+<p>The emojis that will be used for pagination.</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.PaginationEmojis.model_computed_fields">
+<span class="sig-name descname"><span class="pre">model_computed_fields</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">ClassVar[dict[str,</span> <span class="pre">ComputedFieldInfo]]</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{}</span></em><a class="headerlink" href="#pydis_core.PaginationEmojis.model_computed_fields" title="Link to this definition">#</a></dt>
+<dd><p>A dictionary of computed field names and their corresponding <cite>ComputedFieldInfo</cite> objects.</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.PaginationEmojis.model_config">
+<span class="sig-name descname"><span class="pre">model_config</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">ClassVar[ConfigDict]</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{}</span></em><a class="headerlink" href="#pydis_core.PaginationEmojis.model_config" title="Link to this definition">#</a></dt>
+<dd><p>Configuration for the model, should be a dictionary conforming to [<cite>ConfigDict</cite>][pydantic.config.ConfigDict].</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.PaginationEmojis.model_fields">
+<span class="sig-name descname"><span class="pre">model_fields</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">ClassVar[dict[str,</span> <span class="pre">FieldInfo]]</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'delete':</span> <span class="pre">FieldInfo(annotation=str,</span> <span class="pre">required=False,</span> <span class="pre">default='&lt;:trashcan:637136429717389331&gt;'),</span> <span class="pre">'first':</span> <span class="pre">FieldInfo(annotation=str,</span> <span class="pre">required=False,</span> <span class="pre">default='⏮'),</span> <span class="pre">'last':</span> <span class="pre">FieldInfo(annotation=str,</span> <span class="pre">required=False,</span> <span class="pre">default='⏭'),</span> <span class="pre">'left':</span> <span class="pre">FieldInfo(annotation=str,</span> <span class="pre">required=False,</span> <span class="pre">default='⬅'),</span> <span class="pre">'right':</span> <span class="pre">FieldInfo(annotation=str,</span> <span class="pre">required=False,</span> <span class="pre">default='➡')}</span></em><a class="headerlink" href="#pydis_core.PaginationEmojis.model_fields" title="Link to this definition">#</a></dt>
+<dd><p>Metadata about the fields defined on the model,
+mapping of field names to [<cite>FieldInfo</cite>][pydantic.fields.FieldInfo].</p>
+<p>This replaces <cite>Model.__fields__</cite> from Pydantic V1.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="pydis_core.StartupError">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">StartupError</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">base</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L29-L35"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.StartupError" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
+<p>Exception class for startup errors.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.StartupError.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">base</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/_bot.py#L32-L35"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.StartupError.__init__" title="Link to this definition">#</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<section id="subpackages">
+<h2>Subpackages<a class="headerlink" href="#subpackages" title="Link to this heading">#</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.html">Utils</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.html#pydis_core.utils.apply_monkey_patches"><code class="docutils literal notranslate"><span class="pre">apply_monkey_patches()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.html#pydis_core.utils.unqualify"><code class="docutils literal notranslate"><span class="pre">unqualify()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.error_handling.html#pydis_core.utils.error_handling.handle_forbidden_from_block"><code class="docutils literal notranslate"><span class="pre">handle_forbidden_from_block()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.error_handling.html#subpackages">Subpackages</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.html#submodules">Submodules</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.caching.html#pydis_core.utils.caching.AsyncCache"><code class="docutils literal notranslate"><span class="pre">AsyncCache</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.channel.html#pydis_core.utils.channel.get_or_fetch_channel"><code class="docutils literal notranslate"><span class="pre">get_or_fetch_channel()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.channel.html#pydis_core.utils.channel.is_in_category"><code class="docutils literal notranslate"><span class="pre">is_in_category()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.checks.html#pydis_core.utils.checks.ContextCheckFailure"><code class="docutils literal notranslate"><span class="pre">ContextCheckFailure</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.checks.html#pydis_core.utils.checks.InWhitelistCheckFailure"><code class="docutils literal notranslate"><span class="pre">InWhitelistCheckFailure</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.checks.html#pydis_core.utils.checks.cooldown_with_role_bypass"><code class="docutils literal notranslate"><span class="pre">cooldown_with_role_bypass()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.checks.html#pydis_core.utils.checks.has_any_role_check"><code class="docutils literal notranslate"><span class="pre">has_any_role_check()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.checks.html#pydis_core.utils.checks.has_no_roles_check"><code class="docutils literal notranslate"><span class="pre">has_no_roles_check()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.checks.html#pydis_core.utils.checks.in_whitelist_check"><code class="docutils literal notranslate"><span class="pre">in_whitelist_check()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.commands.html#pydis_core.utils.commands.clean_text_or_reply"><code class="docutils literal notranslate"><span class="pre">clean_text_or_reply()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.cooldown.html#pydis_core.utils.cooldown.CommandOnCooldown"><code class="docutils literal notranslate"><span class="pre">CommandOnCooldown</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.cooldown.html#pydis_core.utils.cooldown.P"><code class="docutils literal notranslate"><span class="pre">P</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.cooldown.html#pydis_core.utils.cooldown.R"><code class="docutils literal notranslate"><span class="pre">R</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.cooldown.html#pydis_core.utils.cooldown.block_duplicate_invocations"><code class="docutils literal notranslate"><span class="pre">block_duplicate_invocations()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.GlobalNameConflictError"><code class="docutils literal notranslate"><span class="pre">GlobalNameConflictError</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.command_wraps"><code class="docutils literal notranslate"><span class="pre">command_wraps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.get_arg_value"><code class="docutils literal notranslate"><span class="pre">get_arg_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.get_arg_value_wrapper"><code class="docutils literal notranslate"><span class="pre">get_arg_value_wrapper()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.get_bound_args"><code class="docutils literal notranslate"><span class="pre">get_bound_args()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.update_wrapper_globals"><code class="docutils literal notranslate"><span class="pre">update_wrapper_globals()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.interactions.html#pydis_core.utils.interactions.DeleteMessageButton"><code class="docutils literal notranslate"><span class="pre">DeleteMessageButton</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck"><code class="docutils literal notranslate"><span class="pre">ViewWithUserAndRoleCheck</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.interactions.html#pydis_core.utils.interactions.user_has_access"><code class="docutils literal notranslate"><span class="pre">user_has_access()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError"><code class="docutils literal notranslate"><span class="pre">LockedResourceError</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent"><code class="docutils literal notranslate"><span class="pre">SharedEvent</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.lock"><code class="docutils literal notranslate"><span class="pre">lock()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.lock_arg"><code class="docutils literal notranslate"><span class="pre">lock_arg()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.logging.html#pydis_core.utils.logging.CustomLogger"><code class="docutils literal notranslate"><span class="pre">CustomLogger</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.logging.html#pydis_core.utils.logging.get_logger"><code class="docutils literal notranslate"><span class="pre">get_logger()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.logging.html#pydis_core.utils.logging.log_format"><code class="docutils literal notranslate"><span class="pre">log_format</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.members.html#pydis_core.utils.members.get_or_fetch_member"><code class="docutils literal notranslate"><span class="pre">get_or_fetch_member()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.members.html#pydis_core.utils.members.handle_role_change"><code class="docutils literal notranslate"><span class="pre">handle_role_change()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.messages.html#pydis_core.utils.messages.reaction_check"><code class="docutils literal notranslate"><span class="pre">reaction_check()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.pagination.html#pydis_core.utils.pagination.EmptyPaginatorEmbedError"><code class="docutils literal notranslate"><span class="pre">EmptyPaginatorEmbedError</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.pagination.html#pydis_core.utils.pagination.LinePaginator"><code class="docutils literal notranslate"><span class="pre">LinePaginator</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.pagination.html#pydis_core.utils.pagination.PaginationEmojis"><code class="docutils literal notranslate"><span class="pre">PaginationEmojis</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.MAX_PASTE_SIZE"><code class="docutils literal notranslate"><span class="pre">MAX_PASTE_SIZE</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteFile"><code class="docutils literal notranslate"><span class="pre">PasteFile</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteResponse"><code class="docutils literal notranslate"><span class="pre">PasteResponse</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteTooLongError"><code class="docutils literal notranslate"><span class="pre">PasteTooLongError</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteUnsupportedLexerError"><code class="docutils literal notranslate"><span class="pre">PasteUnsupportedLexerError</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteUploadError"><code class="docutils literal notranslate"><span class="pre">PasteUploadError</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.send_to_paste_service"><code class="docutils literal notranslate"><span class="pre">send_to_paste_service()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.regex.html#pydis_core.utils.regex.DISCORD_INVITE"><code class="docutils literal notranslate"><span class="pre">DISCORD_INVITE</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.regex.html#pydis_core.utils.regex.FORMATTED_CODE_REGEX"><code class="docutils literal notranslate"><span class="pre">FORMATTED_CODE_REGEX</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.regex.html#pydis_core.utils.regex.RAW_CODE_REGEX"><code class="docutils literal notranslate"><span class="pre">RAW_CODE_REGEX</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler"><code class="docutils literal notranslate"><span class="pre">Scheduler</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.create_task"><code class="docutils literal notranslate"><span class="pre">create_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</section>
+<section id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Link to this heading">#</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html#pydis_core.async_stats.AsyncStatsClient"><code class="docutils literal notranslate"><span class="pre">AsyncStatsClient</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.async_stats.html#pydis_core.async_stats.AsyncStatsClient.__init__"><code class="docutils literal notranslate"><span class="pre">AsyncStatsClient.__init__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.async_stats.html#pydis_core.async_stats.AsyncStatsClient.create_socket"><code class="docutils literal notranslate"><span class="pre">AsyncStatsClient.create_socket()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.site_api.html">site_api</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html#pydis_core.site_api.APIClient"><code class="docutils literal notranslate"><span class="pre">APIClient</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.site_api.html#pydis_core.site_api.APIClient.__init__"><code class="docutils literal notranslate"><span class="pre">APIClient.__init__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.site_api.html#pydis_core.site_api.APIClient.close"><code class="docutils literal notranslate"><span class="pre">APIClient.close()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.site_api.html#pydis_core.site_api.APIClient.delete"><code class="docutils literal notranslate"><span class="pre">APIClient.delete()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.site_api.html#pydis_core.site_api.APIClient.get"><code class="docutils literal notranslate"><span class="pre">APIClient.get()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.site_api.html#pydis_core.site_api.APIClient.maybe_raise_for_status"><code class="docutils literal notranslate"><span class="pre">APIClient.maybe_raise_for_status()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.site_api.html#pydis_core.site_api.APIClient.patch"><code class="docutils literal notranslate"><span class="pre">APIClient.patch()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.site_api.html#pydis_core.site_api.APIClient.post"><code class="docutils literal notranslate"><span class="pre">APIClient.post()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.site_api.html#pydis_core.site_api.APIClient.put"><code class="docutils literal notranslate"><span class="pre">APIClient.put()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.site_api.html#pydis_core.site_api.APIClient.request"><code class="docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html#pydis_core.site_api.ResponseCodeError"><code class="docutils literal notranslate"><span class="pre">ResponseCodeError</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.site_api.html#pydis_core.site_api.ResponseCodeError.__init__"><code class="docutils literal notranslate"><span class="pre">ResponseCodeError.__init__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.site_api.html#pydis_core.site_api.ResponseCodeError.__str__"><code class="docutils literal notranslate"><span class="pre">ResponseCodeError.__str__()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</section>
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.exts.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">Exts</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="../index.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">Home</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">Pydis Core</a><ul>
+<li><a class="reference internal" href="#pydis_core.BotBase"><code class="docutils literal notranslate"><span class="pre">BotBase</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.BotBase.guild_id"><code class="docutils literal notranslate"><span class="pre">BotBase.guild_id</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.http_session"><code class="docutils literal notranslate"><span class="pre">BotBase.http_session</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.api_client"><code class="docutils literal notranslate"><span class="pre">BotBase.api_client</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.statsd_url"><code class="docutils literal notranslate"><span class="pre">BotBase.statsd_url</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.redis_session"><code class="docutils literal notranslate"><span class="pre">BotBase.redis_session</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.stats"><code class="docutils literal notranslate"><span class="pre">BotBase.stats</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.all_extensions"><code class="docutils literal notranslate"><span class="pre">BotBase.all_extensions</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.__init__"><code class="docutils literal notranslate"><span class="pre">BotBase.__init__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.add_cog"><code class="docutils literal notranslate"><span class="pre">BotBase.add_cog()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.add_command"><code class="docutils literal notranslate"><span class="pre">BotBase.add_command()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.clear"><code class="docutils literal notranslate"><span class="pre">BotBase.clear()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.close"><code class="docutils literal notranslate"><span class="pre">BotBase.close()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.load_extensions"><code class="docutils literal notranslate"><span class="pre">BotBase.load_extensions()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.log_to_dev_log"><code class="docutils literal notranslate"><span class="pre">BotBase.log_to_dev_log()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.on_guild_available"><code class="docutils literal notranslate"><span class="pre">BotBase.on_guild_available()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.on_guild_unavailable"><code class="docutils literal notranslate"><span class="pre">BotBase.on_guild_unavailable()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.ping_services"><code class="docutils literal notranslate"><span class="pre">BotBase.ping_services()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.process_commands"><code class="docutils literal notranslate"><span class="pre">BotBase.process_commands()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.register_command_error_manager"><code class="docutils literal notranslate"><span class="pre">BotBase.register_command_error_manager()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.remove_command"><code class="docutils literal notranslate"><span class="pre">BotBase.remove_command()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.setup_hook"><code class="docutils literal notranslate"><span class="pre">BotBase.setup_hook()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.BotBase.wait_until_guild_available"><code class="docutils literal notranslate"><span class="pre">BotBase.wait_until_guild_available()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.EmptyPaginatorEmbedError"><code class="docutils literal notranslate"><span class="pre">EmptyPaginatorEmbedError</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.LinePaginator"><code class="docutils literal notranslate"><span class="pre">LinePaginator</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.LinePaginator.__init__"><code class="docutils literal notranslate"><span class="pre">LinePaginator.__init__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.LinePaginator.add_line"><code class="docutils literal notranslate"><span class="pre">LinePaginator.add_line()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.LinePaginator.paginate"><code class="docutils literal notranslate"><span class="pre">LinePaginator.paginate()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.PaginationEmojis"><code class="docutils literal notranslate"><span class="pre">PaginationEmojis</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.PaginationEmojis.model_computed_fields"><code class="docutils literal notranslate"><span class="pre">PaginationEmojis.model_computed_fields</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.PaginationEmojis.model_config"><code class="docutils literal notranslate"><span class="pre">PaginationEmojis.model_config</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.PaginationEmojis.model_fields"><code class="docutils literal notranslate"><span class="pre">PaginationEmojis.model_fields</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.StartupError"><code class="docutils literal notranslate"><span class="pre">StartupError</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.StartupError.__init__"><code class="docutils literal notranslate"><span class="pre">StartupError.__init__()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#subpackages">Subpackages</a></li>
+<li><a class="reference internal" href="#submodules">Submodules</a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.site_api.html b/v11.0.1/output/pydis_core.site_api.html
new file mode 100644
index 00000000..e263a547
--- /dev/null
+++ b/v11.0.1/output/pydis_core.site_api.html
@@ -0,0 +1,644 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Local Development &amp; Testing" href="../development.html" /><link rel="prev" title="async_stats" href="pydis_core.async_stats.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>site_api - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.site_api.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/output/pydis_core.site_api.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/output/pydis_core.site_api.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/output/pydis_core.site_api.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/output/pydis_core.site_api.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/output/pydis_core.site_api.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/output/pydis_core.site_api.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/output/pydis_core.site_api.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/output/pydis_core.site_api.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/output/pydis_core.site_api.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/output/pydis_core.site_api.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/output/pydis_core.site_api.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/output/pydis_core.site_api.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/output/pydis_core.site_api.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/output/pydis_core.site_api.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/output/pydis_core.site_api.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.site_api.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.site_api.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.site_api.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/output/pydis_core.site_api.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/output/pydis_core.site_api.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/output/pydis_core.site_api.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/output/pydis_core.site_api.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/output/pydis_core.site_api.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/output/pydis_core.site_api.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/output/pydis_core.site_api.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.site_api">
+<span id="site-api"></span><h1>site_api<a class="headerlink" href="#module-pydis_core.site_api" title="Link to this heading">#</a></h1>
+<p>An API wrapper around the Site API.</p>
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.site_api.APIClient">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">APIClient</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">site_api_url</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">site_api_token</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">session_kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L41-L142"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
+<p>A wrapper for the Django Site API.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">site_api_url</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">site_api_token</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">session_kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L47-L70"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.__init__" title="Link to this definition">#</a></dt>
+<dd><p>Initialize a new <a class="reference internal" href="#pydis_core.site_api.APIClient" title="pydis_core.site_api.APIClient"><code class="xref py py-obj docutils literal notranslate"><span class="pre">APIClient</span></code></a> instance.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>site_api_url</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></span>) – The URL of the site API.</p></li>
+<li><p><strong>site_api_token</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></span>) – The token to use for authentication.</p></li>
+<li><p><strong>session_kwargs</strong> – Keyword arguments to pass to the <a class="reference external" href="https://docs.aiohttp.org/en/stable/client_reference.html#aiohttp.ClientSession" title="(in aiohttp v3.9)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">aiohttp.ClientSession</span></code></a> constructor.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.close">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L74-L77"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.close" title="Link to this definition">#</a></dt>
+<dd><p>Close the aiohttp session.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.delete">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">delete</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L139-L142"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.delete" title="Link to this definition">#</a></dt>
+<dd><p>Equivalent to <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> with DELETE passed as the method.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.get">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L123-L126"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.get" title="Link to this definition">#</a></dt>
+<dd><p>Equivalent to <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> with GET passed as the method.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.maybe_raise_for_status">
+<em class="property"><span class="pre">async</span><span class="w"> </span><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">maybe_raise_for_status</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">should_raise</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L78-L98"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.maybe_raise_for_status" title="Link to this definition">#</a></dt>
+<dd><p>Raise <a class="reference internal" href="#pydis_core.site_api.ResponseCodeError" title="pydis_core.site_api.ResponseCodeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ResponseCodeError</span></code></a> for non-OK response if an exception should be raised.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>response</strong> (<a class="reference external" href="https://docs.aiohttp.org/en/stable/client_reference.html#aiohttp.ClientResponse" title="(in aiohttp v3.9)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">aiohttp.ClientResponse</span></code></a>) – The response to check.</p></li>
+<li><p><strong>should_raise</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></span>) – Whether or not to raise an exception.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#pydis_core.site_api.ResponseCodeError" title="pydis_core.site_api.ResponseCodeError"><strong>ResponseCodeError</strong></a> – If the response is not OK and <code class="docutils literal notranslate"><span class="pre">should_raise</span></code> is True.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.patch">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">patch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L127-L130"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.patch" title="Link to this definition">#</a></dt>
+<dd><p>Equivalent to <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> with PATCH passed as the method.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.post">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">post</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L131-L134"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.post" title="Link to this definition">#</a></dt>
+<dd><p>Equivalent to <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> with POST passed as the method.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.put">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">put</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L135-L138"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.put" title="Link to this definition">#</a></dt>
+<dd><p>Equivalent to <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> with PUT passed as the method.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.request">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">request</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L99-L122"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.request" title="Link to this definition">#</a></dt>
+<dd><p>Send an HTTP request to the site API and return the JSON response.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>method</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></span>) – The HTTP method to use.</p></li>
+<li><p><strong>endpoint</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></span>) – The endpoint to send the request to.</p></li>
+<li><p><strong>raise_for_status</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></span>) – Whether or not to raise an exception if the response is not OK.</p></li>
+<li><p><strong>**kwargs</strong> – Any extra keyword arguments to pass to <a class="reference external" href="https://docs.aiohttp.org/en/stable/client_reference.html#aiohttp.request" title="(in aiohttp v3.9)"><code class="xref py py-func docutils literal notranslate"><span class="pre">aiohttp.request()</span></code></a>.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The JSON response the API returns, or <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a> if the response code is 204.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#pydis_core.site_api.ResponseCodeError" title="pydis_core.site_api.ResponseCodeError"><strong>ResponseCodeError</strong></a> – If the response is not OK and <code class="docutils literal notranslate"><span class="pre">raise_for_status</span></code> is True.</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="pydis_core.site_api.ResponseCodeError">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ResponseCodeError</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_json</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L13-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.ResponseCodeError" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#ValueError" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ValueError</span></code></a></p>
+<p>Raised in <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> when a non-OK HTTP response is received.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.site_api.ResponseCodeError.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_json</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L16-L34"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.ResponseCodeError.__init__" title="Link to this definition">#</a></dt>
+<dd><p>Initialize a new <a class="reference internal" href="#pydis_core.site_api.ResponseCodeError" title="pydis_core.site_api.ResponseCodeError"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ResponseCodeError</span></code></a> instance.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>response</strong> (<a class="reference external" href="https://docs.aiohttp.org/en/stable/client_reference.html#aiohttp.ClientResponse" title="(in aiohttp v3.9)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">aiohttp.ClientResponse</span></code></a>) – The response object from the request.</p></li>
+<li><p><strong>response_json</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span>) – The JSON response returned from the request, if any.</p></li>
+<li><p><strong>response_text</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span>) – The text of the request, if any.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.site_api.ResponseCodeError.__str__">
+<span class="sig-name descname"><span class="pre">__str__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/site_api.py#L35-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.ResponseCodeError.__str__" title="Link to this definition">#</a></dt>
+<dd><p>Return a string representation of the error.</p>
+</dd></dl>
+
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="../development.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">Local Development &amp; Testing</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.async_stats.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">async_stats</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">site_api</a><ul>
+<li><a class="reference internal" href="#pydis_core.site_api.APIClient"><code class="docutils literal notranslate"><span class="pre">APIClient</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.site_api.APIClient.__init__"><code class="docutils literal notranslate"><span class="pre">APIClient.__init__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.site_api.APIClient.close"><code class="docutils literal notranslate"><span class="pre">APIClient.close()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.site_api.APIClient.delete"><code class="docutils literal notranslate"><span class="pre">APIClient.delete()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.site_api.APIClient.get"><code class="docutils literal notranslate"><span class="pre">APIClient.get()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.site_api.APIClient.maybe_raise_for_status"><code class="docutils literal notranslate"><span class="pre">APIClient.maybe_raise_for_status()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.site_api.APIClient.patch"><code class="docutils literal notranslate"><span class="pre">APIClient.patch()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.site_api.APIClient.post"><code class="docutils literal notranslate"><span class="pre">APIClient.post()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.site_api.APIClient.put"><code class="docutils literal notranslate"><span class="pre">APIClient.put()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.site_api.APIClient.request"><code class="docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.site_api.ResponseCodeError"><code class="docutils literal notranslate"><span class="pre">ResponseCodeError</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.site_api.ResponseCodeError.__init__"><code class="docutils literal notranslate"><span class="pre">ResponseCodeError.__init__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.site_api.ResponseCodeError.__str__"><code class="docutils literal notranslate"><span class="pre">ResponseCodeError.__str__()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.caching.html b/v11.0.1/output/pydis_core.utils.caching.html
new file mode 100644
index 00000000..5d86227b
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.caching.html
@@ -0,0 +1,520 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="channel" href="pydis_core.utils.channel.html" /><link rel="prev" title="manager" href="pydis_core.utils.error_handling.commands.manager.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>caching - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.caching.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/output/pydis_core.utils.caching.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/output/pydis_core.utils.caching.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/output/pydis_core.utils.caching.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/output/pydis_core.utils.caching.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/output/pydis_core.utils.caching.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/output/pydis_core.utils.caching.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/output/pydis_core.utils.caching.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/output/pydis_core.utils.caching.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/output/pydis_core.utils.caching.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/output/pydis_core.utils.caching.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/output/pydis_core.utils.caching.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/output/pydis_core.utils.caching.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/output/pydis_core.utils.caching.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/output/pydis_core.utils.caching.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/output/pydis_core.utils.caching.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.caching.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.caching.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.caching.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/output/pydis_core.utils.caching.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/output/pydis_core.utils.caching.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/output/pydis_core.utils.caching.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/output/pydis_core.utils.caching.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/output/pydis_core.utils.caching.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/output/pydis_core.utils.caching.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/output/pydis_core.utils.caching.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.caching">
+<span id="caching"></span><h1>caching<a class="headerlink" href="#module-pydis_core.utils.caching" title="Link to this heading">#</a></h1>
+<p>Utilities related to custom caches.</p>
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.utils.caching.AsyncCache">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">AsyncCache</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">128</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/caching.py#L8-L66"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
+<p>LRU cache implementation for coroutines.</p>
+<p>Once the cache exceeds the maximum size, keys are deleted in FIFO order.</p>
+<p>An offset may be optionally provided to be applied to the coroutine’s arguments when creating the cache key.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.caching.AsyncCache.__call__">
+<span class="sig-name descname"><span class="pre">__call__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">arg_offset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/caching.py#L27-L62"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache.__call__" title="Link to this definition">#</a></dt>
+<dd><p>Decorator for async cache.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>arg_offset</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></span>) – The offset for the position of the key argument.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a></span></p>
+</dd>
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>A decorator to wrap the target function.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.caching.AsyncCache.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">128</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/caching.py#L17-L26"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache.__init__" title="Link to this definition">#</a></dt>
+<dd><p>Initialise a new <a class="reference internal" href="#pydis_core.utils.caching.AsyncCache" title="pydis_core.utils.caching.AsyncCache"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AsyncCache</span></code></a> instance.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>max_size</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></span>) – How many items to store in the cache.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.caching.AsyncCache.clear">
+<span class="sig-name descname"><span class="pre">clear</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/caching.py#L63-L66"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache.clear" title="Link to this definition">#</a></dt>
+<dd><p>Clear cache instance.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.channel.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">channel</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.error_handling.commands.manager.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">manager</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">caching</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.caching.AsyncCache"><code class="docutils literal notranslate"><span class="pre">AsyncCache</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.caching.AsyncCache.__call__"><code class="docutils literal notranslate"><span class="pre">AsyncCache.__call__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.caching.AsyncCache.__init__"><code class="docutils literal notranslate"><span class="pre">AsyncCache.__init__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.caching.AsyncCache.clear"><code class="docutils literal notranslate"><span class="pre">AsyncCache.clear()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.channel.html b/v11.0.1/output/pydis_core.utils.channel.html
new file mode 100644
index 00000000..6cd28d28
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.channel.html
@@ -0,0 +1,516 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="checks" href="pydis_core.utils.checks.html" /><link rel="prev" title="caching" href="pydis_core.utils.caching.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>channel - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.channel.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/output/pydis_core.utils.channel.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/output/pydis_core.utils.channel.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/output/pydis_core.utils.channel.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/output/pydis_core.utils.channel.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/output/pydis_core.utils.channel.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/output/pydis_core.utils.channel.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/output/pydis_core.utils.channel.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/output/pydis_core.utils.channel.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/output/pydis_core.utils.channel.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/output/pydis_core.utils.channel.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/output/pydis_core.utils.channel.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/output/pydis_core.utils.channel.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/output/pydis_core.utils.channel.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/output/pydis_core.utils.channel.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/output/pydis_core.utils.channel.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.channel.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.channel.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.channel.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/output/pydis_core.utils.channel.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/output/pydis_core.utils.channel.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/output/pydis_core.utils.channel.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/output/pydis_core.utils.channel.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/output/pydis_core.utils.channel.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/output/pydis_core.utils.channel.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/output/pydis_core.utils.channel.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.channel">
+<span id="channel"></span><h1>channel<a class="headerlink" href="#module-pydis_core.utils.channel" title="Link to this heading">#</a></h1>
+<p>Useful helper functions for interacting with various discord channel objects.</p>
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.channel.get_or_fetch_channel">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get_or_fetch_channel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bot</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">channel_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/channel.py#L25-L58"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.channel.get_or_fetch_channel" title="Link to this definition">#</a></dt>
+<dd><p>Attempt to get or fetch the given <code class="docutils literal notranslate"><span class="pre">channel_id</span></code> from the bots cache, and return it.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>bot</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Bot" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Bot</span></code></a></span>) – The <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Bot" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.ext.commands.Bot</span></code></a> instance to use for getting/fetching.</p></li>
+<li><p><strong>channel_id</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></span>) – The channel to get/fetch.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><ul class="simple">
+<li><p><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.InvalidData" title="(in discord.py v2.4.0a)"><strong>discord.InvalidData</strong></a> – An unknown channel type was received from Discord.</p></li>
+<li><p><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.HTTPException" title="(in discord.py v2.4.0a)"><strong>discord.HTTPException</strong></a> – Retrieving the channel failed.</p></li>
+<li><p><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.NotFound" title="(in discord.py v2.4.0a)"><strong>discord.NotFound</strong></a> – Invalid Channel ID.</p></li>
+<li><p><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Forbidden" title="(in discord.py v2.4.0a)"><strong>discord.Forbidden</strong></a> – You do not have permission to fetch this channel.</p></li>
+</ul>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.abc.GuildChannel" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">GuildChannel</span></code></a> | <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.abc.PrivateChannel" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">PrivateChannel</span></code></a> | <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Thread" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Thread</span></code></a></span></p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The channel from the ID.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.channel.is_in_category">
+<span class="sig-name descname"><span class="pre">is_in_category</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">channel</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">category_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/channel.py#L11-L23"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.channel.is_in_category" title="Link to this definition">#</a></dt>
+<dd><p>Return whether the given <code class="docutils literal notranslate"><span class="pre">channel</span></code> in the the category with the id <code class="docutils literal notranslate"><span class="pre">category_id</span></code>.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>channel</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.TextChannel" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">TextChannel</span></code></a></span>) – The channel to check.</p></li>
+<li><p><strong>category_id</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></span>) – The category to check for.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></span></p>
+</dd>
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>A bool depending on whether the channel is in the category.</p>
+</dd>
+</dl>
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.checks.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">checks</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.caching.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">caching</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">channel</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.channel.get_or_fetch_channel"><code class="docutils literal notranslate"><span class="pre">get_or_fetch_channel()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.channel.is_in_category"><code class="docutils literal notranslate"><span class="pre">is_in_category()</span></code></a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.checks.html b/v11.0.1/output/pydis_core.utils.checks.html
new file mode 100644
index 00000000..343a1689
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.checks.html
@@ -0,0 +1,588 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="commands" href="pydis_core.utils.commands.html" /><link rel="prev" title="channel" href="pydis_core.utils.channel.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>checks - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.checks.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/index.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/index.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/index.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/index.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/index.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/index.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/index.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/index.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/index.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/index.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/index.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/index.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/index.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/index.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/index.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.checks.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.checks.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.checks.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.checks.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/index.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/index.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/index.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/index.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/index.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/index.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/index.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.checks">
+<span id="checks"></span><h1>checks<a class="headerlink" href="#module-pydis_core.utils.checks" title="Link to this heading">#</a></h1>
+<dl class="py exception">
+<dt class="sig sig-object py" id="pydis_core.utils.checks.ContextCheckFailure">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ContextCheckFailure</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">redirect_channel</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/checks.py#L20-L34"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.ContextCheckFailure" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.CheckFailure" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">CheckFailure</span></code></a></p>
+<p>Raised when a context-specific check fails.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.checks.ContextCheckFailure.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">redirect_channel</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/checks.py#L23-L34"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.ContextCheckFailure.__init__" title="Link to this definition">#</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="pydis_core.utils.checks.InWhitelistCheckFailure">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">InWhitelistCheckFailure</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">redirect_channel</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/checks.py#L36-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.InWhitelistCheckFailure" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#pydis_core.utils.checks.ContextCheckFailure" title="pydis_core.utils.checks.ContextCheckFailure"><code class="xref py py-class docutils literal notranslate"><span class="pre">ContextCheckFailure</span></code></a></p>
+<p>Raised when the <cite>in_whitelist</cite> check fails.</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.checks.cooldown_with_role_bypass">
+<span class="sig-name descname"><span class="pre">cooldown_with_role_bypass</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rate</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">per</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">type_</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('default',</span> <span class="pre">0)</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bypass_roles</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/checks.py#L100-L161"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.cooldown_with_role_bypass" title="Link to this definition">#</a></dt>
+<dd><p>Decorate a command to have a cooldown, which can be bypassed by users with specified roles.</p>
+<p>Note: This replaces the <cite>Command.before_invoke</cite> callback, which <em>might</em> introduce problems in the future.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>rate</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a>) – Number of times a command can be used before triggering a cooldown.</p></li>
+<li><p><strong>per</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#float" title="(in Python v3.12)"><em>float</em></a>) – The duration (in seconds) for how long the cooldown lasts.</p></li>
+<li><p><strong>type</strong> (<a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.BucketType" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.ext.commands.BucketType</span></code></a>) – The type of cooldown (per user, per channel, per guild, etc.).</p></li>
+<li><p><strong>bypass_roles</strong> (<em>Iterable</em><em>[</em><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a><em>]</em>) – An iterable of role IDs that bypass the cooldown.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A decorator that adds the described cooldown behavior to the command.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Callable</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/exceptions.html#TypeError" title="(in Python v3.12)"><strong>TypeError</strong></a> – If the decorator is not applied to an instance of <cite>Command</cite>.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.checks.has_any_role_check">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">has_any_role_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">roles</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/checks.py#L163-L193"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.has_any_role_check" title="Link to this definition">#</a></dt>
+<dd><p>Verify if the context’s author has any of the specified roles.</p>
+<p>This check will always fail if the context is a DM, since DMs don’t have roles.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ctx</strong> (<a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Context" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.ext.commands.Context</span></code></a>) – The context where the command is being invoked.</p></li>
+<li><p><strong>roles</strong> (<em>Union</em><em>[</em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a><em>, </em><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a><em>]</em><em>, </em><em>...</em>) – A collection of role IDs.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>True if the context’s author has at least one of the specified roles; False otherwise.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)">bool</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.checks.has_no_roles_check">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">has_no_roles_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">roles</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/checks.py#L195-L222"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.has_no_roles_check" title="Link to this definition">#</a></dt>
+<dd><p>Verify if the context’s author doesn’t have any of the specified roles.</p>
+<p>This check will always fail if the context is a DM, since DMs don’t have roles.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ctx</strong> (<a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Context" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.ext.commands.Context</span></code></a>) – The context where the command is being invoked.</p></li>
+<li><p><strong>roles</strong> (<em>Union</em><em>[</em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a><em>, </em><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a><em>]</em><em>, </em><em>...</em>) – A collection of role IDs.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>True if the context’s author doesn’t have any of the specified roles; False otherwise.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)">bool</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.checks.in_whitelist_check">
+<span class="sig-name descname"><span class="pre">in_whitelist_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">redirect</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">channels</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">categories</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fail_silently</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/checks.py#L40-L98"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.in_whitelist_check" title="Link to this definition">#</a></dt>
+<dd><p>Check if a command was issued in a context that is whitelisted by channel, category, or roles.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ctx</strong> (<a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Context" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.ext.commands.Context</span></code></a>) – The context in which the command is being invoked.</p></li>
+<li><p><strong>redirect</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a><em> | </em><em>None</em>) – The channel ID to redirect the user to, if any.</p></li>
+<li><p><strong>channels</strong> (<em>Container</em><em>[</em><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a><em>]</em>) – Whitelisted channel IDs. Defaults to ().</p></li>
+<li><p><strong>categories</strong> (<em>Container</em><em>[</em><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a><em>]</em>) – Whitelisted category IDs. Defaults to ().</p></li>
+<li><p><strong>roles</strong> (<em>Container</em><em>[</em><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a><em>]</em>) – Whitelisted role IDs. Defaults to ().</p></li>
+<li><p><strong>fail_silently</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><em>bool</em></a>) – Whether to fail silently without raising an exception. Defaults to False.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>True if the command is used in a whitelisted context; False otherwise.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)">bool</a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#pydis_core.utils.checks.InWhitelistCheckFailure" title="pydis_core.utils.checks.InWhitelistCheckFailure"><strong>InWhitelistCheckFailure</strong></a> – If the context is not whitelisted and <cite>fail_silently</cite> is False.</p>
+</dd>
+</dl>
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.commands.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">commands</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.channel.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">channel</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">checks</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.checks.ContextCheckFailure"><code class="docutils literal notranslate"><span class="pre">ContextCheckFailure</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.checks.ContextCheckFailure.__init__"><code class="docutils literal notranslate"><span class="pre">ContextCheckFailure.__init__()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.utils.checks.InWhitelistCheckFailure"><code class="docutils literal notranslate"><span class="pre">InWhitelistCheckFailure</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.checks.cooldown_with_role_bypass"><code class="docutils literal notranslate"><span class="pre">cooldown_with_role_bypass()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.checks.has_any_role_check"><code class="docutils literal notranslate"><span class="pre">has_any_role_check()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.checks.has_no_roles_check"><code class="docutils literal notranslate"><span class="pre">has_no_roles_check()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.checks.in_whitelist_check"><code class="docutils literal notranslate"><span class="pre">in_whitelist_check()</span></code></a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.commands.html b/v11.0.1/output/pydis_core.utils.commands.html
new file mode 100644
index 00000000..8c35baae
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.commands.html
@@ -0,0 +1,489 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="cooldown" href="pydis_core.utils.cooldown.html" /><link rel="prev" title="checks" href="pydis_core.utils.checks.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>commands - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.commands.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/output/pydis_core.utils.commands.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/output/pydis_core.utils.commands.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/output/pydis_core.utils.commands.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/output/pydis_core.utils.commands.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/output/pydis_core.utils.commands.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/output/pydis_core.utils.commands.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/output/pydis_core.utils.commands.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/output/pydis_core.utils.commands.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/output/pydis_core.utils.commands.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/output/pydis_core.utils.commands.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/output/pydis_core.utils.commands.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/output/pydis_core.utils.commands.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/output/pydis_core.utils.commands.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/output/pydis_core.utils.commands.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/output/pydis_core.utils.commands.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.commands.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.commands.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.commands.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/output/pydis_core.utils.commands.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/output/pydis_core.utils.commands.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/output/pydis_core.utils.commands.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/output/pydis_core.utils.commands.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/output/pydis_core.utils.commands.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/output/pydis_core.utils.commands.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/output/pydis_core.utils.commands.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.commands">
+<span id="commands"></span><h1>commands<a class="headerlink" href="#module-pydis_core.utils.commands" title="Link to this heading">#</a></h1>
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.commands.clean_text_or_reply">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">clean_text_or_reply</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/commands.py#L6-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.commands.clean_text_or_reply" title="Link to this definition">#</a></dt>
+<dd><p>Cleans a text argument or replied message’s content.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ctx</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Context" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Context</span></code></a></span>) – The command’s context</p></li>
+<li><p><strong>text</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span>) – The provided text argument of the command (if given)</p></li>
+</ul>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.BadArgument" title="(in discord.py v2.4.0a)"><strong>discord.ext.commands.BadArgument</strong></a> – <cite>text</cite> wasn’t provided and there’s no reply message / reply message content.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></span></p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The cleaned version of <cite>text</cite>, if given, else replied message.</p>
+</dd>
+</dl>
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.cooldown.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">cooldown</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.checks.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">checks</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">commands</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.commands.clean_text_or_reply"><code class="docutils literal notranslate"><span class="pre">clean_text_or_reply()</span></code></a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.cooldown.html b/v11.0.1/output/pydis_core.utils.cooldown.html
new file mode 100644
index 00000000..ada52542
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.cooldown.html
@@ -0,0 +1,539 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="function" href="pydis_core.utils.function.html" /><link rel="prev" title="commands" href="pydis_core.utils.commands.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>cooldown - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.cooldown.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/output/pydis_core.utils.cooldown.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/output/pydis_core.utils.cooldown.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/output/pydis_core.utils.cooldown.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/output/pydis_core.utils.cooldown.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/output/pydis_core.utils.cooldown.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/output/pydis_core.utils.cooldown.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/output/pydis_core.utils.cooldown.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/output/pydis_core.utils.cooldown.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/output/pydis_core.utils.cooldown.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/output/pydis_core.utils.cooldown.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/output/pydis_core.utils.cooldown.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/output/pydis_core.utils.cooldown.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/output/pydis_core.utils.cooldown.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/output/pydis_core.utils.cooldown.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/output/pydis_core.utils.cooldown.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.cooldown.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.cooldown.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.cooldown.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/output/pydis_core.utils.cooldown.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/output/pydis_core.utils.cooldown.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/output/pydis_core.utils.cooldown.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/output/pydis_core.utils.cooldown.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/output/pydis_core.utils.cooldown.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/output/pydis_core.utils.cooldown.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/output/pydis_core.utils.cooldown.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.cooldown">
+<span id="cooldown"></span><h1>cooldown<a class="headerlink" href="#module-pydis_core.utils.cooldown" title="Link to this heading">#</a></h1>
+<p>Helpers for setting a cooldown on commands.</p>
+<dl class="py exception">
+<dt class="sig sig-object py" id="pydis_core.utils.cooldown.CommandOnCooldown">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CommandOnCooldown</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">function</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">/</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/cooldown.py#L36-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.CommandOnCooldown" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.CommandError" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">CommandError</span></code></a>, <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Generic" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Generic</span></code></a>[<a class="reference internal" href="#pydis_core.utils.cooldown.P" title="pydis_core.utils.cooldown.P"><code class="xref py py-obj docutils literal notranslate"><span class="pre">P</span></code></a>, <a class="reference internal" href="#pydis_core.utils.cooldown.R" title="pydis_core.utils.cooldown.R"><code class="xref py py-obj docutils literal notranslate"><span class="pre">R</span></code></a>]</p>
+<p>Raised when a command is invoked while on cooldown.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.cooldown.CommandOnCooldown.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">function</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">/</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/cooldown.py#L39-L51"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.CommandOnCooldown.__init__" title="Link to this definition">#</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">call_without_cooldown</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/cooldown.py#L52-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown" title="Link to this definition">#</a></dt>
+<dd><p>Run the command this cooldown blocked.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.TypeVar" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">TypeVar</span></code></a>(<code class="docutils literal notranslate"><span class="pre">R</span></code>)</span></p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The command’s return value.</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="pydis_core.utils.cooldown.P">
+<span class="sig-name descname"><span class="pre">P</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">~P</span></em><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/cooldown.py#L30"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.P" title="Link to this definition">#</a></dt>
+<dd><p>The command’s signature.</p>
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.utils.cooldown.R">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">R</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/cooldown.py#L32"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.R" title="Link to this definition">#</a></dt>
+<dd><p>The command’s return value.</p>
+<p>alias of TypeVar(‘R’)</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.cooldown.block_duplicate_invocations">
+<span class="sig-name descname"><span class="pre">block_duplicate_invocations</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cooldown_duration</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">send_notice</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args_preprocessor</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/cooldown.py#L174-L220"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.block_duplicate_invocations" title="Link to this definition">#</a></dt>
+<dd><p>Prevent duplicate invocations of a command with the same arguments in a channel for <code class="docutils literal notranslate"><span class="pre">cooldown_duration</span></code> seconds.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>cooldown_duration</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#float" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></span>) – Length of the cooldown in seconds.</p></li>
+<li><p><strong>send_notice</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></span>) – If <a class="reference external" href="https://docs.python.org/3/library/constants.html#True" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">True</span></code></a>, notify the user about the cooldown with a reply.</p></li>
+<li><p><strong>args_preprocessor</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.ParamSpec" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ParamSpec</span></code></a>(<code class="docutils literal notranslate"><span class="pre">P</span></code>)], <a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Iterable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Iterable</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a>]] | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span>) – If specified, this function is called with the args and kwargs the function is called with,
+its return value is then used to check for the cooldown instead of the raw arguments.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.ParamSpec" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ParamSpec</span></code></a>(<code class="docutils literal notranslate"><span class="pre">P</span></code>)], <a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Awaitable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Awaitable</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.TypeVar" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">TypeVar</span></code></a>(<code class="docutils literal notranslate"><span class="pre">R</span></code>)]]], <a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.ParamSpec" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ParamSpec</span></code></a>(<code class="docutils literal notranslate"><span class="pre">P</span></code>)], <a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Awaitable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Awaitable</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.TypeVar" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">TypeVar</span></code></a>(<code class="docutils literal notranslate"><span class="pre">R</span></code>)]]]</span></p>
+</dd>
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>A decorator that adds a wrapper which applies the cooldowns.</p>
+</dd>
+</dl>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>The created wrapper raises <a class="reference internal" href="#pydis_core.utils.cooldown.CommandOnCooldown" title="pydis_core.utils.cooldown.CommandOnCooldown"><code class="xref py py-exc docutils literal notranslate"><span class="pre">CommandOnCooldown</span></code></a> when the command is on cooldown.</p>
+</div>
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.function.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">function</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.commands.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">commands</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">cooldown</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.cooldown.CommandOnCooldown"><code class="docutils literal notranslate"><span class="pre">CommandOnCooldown</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.cooldown.CommandOnCooldown.__init__"><code class="docutils literal notranslate"><span class="pre">CommandOnCooldown.__init__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"><code class="docutils literal notranslate"><span class="pre">CommandOnCooldown.call_without_cooldown()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.utils.cooldown.P"><code class="docutils literal notranslate"><span class="pre">P</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.cooldown.R"><code class="docutils literal notranslate"><span class="pre">R</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.cooldown.block_duplicate_invocations"><code class="docutils literal notranslate"><span class="pre">block_duplicate_invocations()</span></code></a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.error_handling.commands.abc.html b/v11.0.1/output/pydis_core.utils.error_handling.commands.abc.html
new file mode 100644
index 00000000..253b3223
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.error_handling.commands.abc.html
@@ -0,0 +1,511 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="manager" href="pydis_core.utils.error_handling.commands.manager.html" /><link rel="prev" title="commands package" href="pydis_core.utils.error_handling.commands.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>abc - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 current has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l4 current has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l5 current current-page"><a class="current reference internal" href="#">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.error_handling.commands.abc.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/index.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/index.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/index.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/index.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/index.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/index.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/index.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/index.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/index.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/index.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/index.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/index.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/index.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/index.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/index.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.error_handling.commands.abc.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.commands.abc.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/index.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/index.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/index.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/index.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/index.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/index.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/index.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/index.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/index.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.error_handling.commands.abc">
+<span id="abc"></span><h1>abc<a class="headerlink" href="#module-pydis_core.utils.error_handling.commands.abc" title="Link to this heading">#</a></h1>
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">AbstractCommandErrorHandler</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/abc.py#L8-L25"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/abc.html#abc.ABC" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ABC</span></code></a></p>
+<p>An abstract command error handler.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_app_command_error">
+<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_app_command_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interaction</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/abc.py#L16-L20"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_app_command_error" title="Link to this definition">#</a></dt>
+<dd><p>Handle error raised in the context of app commands.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.NoReturn" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">NoReturn</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_text_command_error">
+<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_text_command_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">context</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/abc.py#L21-L25"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_text_command_error" title="Link to this definition">#</a></dt>
+<dd><p>Handle error raised in the context of text commands.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.NoReturn" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">NoReturn</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.should_handle_error">
+<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">should_handle_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/abc.py#L11-L15"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.should_handle_error" title="Link to this definition">#</a></dt>
+<dd><p>A predicate that determines whether the error should be handled.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.error_handling.commands.manager.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">manager</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.error_handling.commands.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">commands package</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">abc</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_app_command_error"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler.handle_app_command_error()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_text_command_error"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler.handle_text_command_error()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.should_handle_error"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler.should_handle_error()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.error_handling.commands.html b/v11.0.1/output/pydis_core.utils.error_handling.commands.html
new file mode 100644
index 00000000..13e732bd
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.error_handling.commands.html
@@ -0,0 +1,579 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="abc" href="pydis_core.utils.error_handling.commands.abc.html" /><link rel="prev" title="error_handling package" href="pydis_core.utils.error_handling.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>commands package - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 current has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l4 current has-children current-page"><a class="current reference internal" href="#">commands package</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.error_handling.commands.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/index.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/index.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/index.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/index.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/index.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/index.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/index.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/index.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/index.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/index.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/index.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/index.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/index.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/index.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/index.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.error_handling.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.commands.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/index.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/index.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/index.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/index.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/index.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/index.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/index.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/index.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/index.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.error_handling.commands">
+<span id="commands-package"></span><h1>commands package<a class="headerlink" href="#module-pydis_core.utils.error_handling.commands" title="Link to this heading">#</a></h1>
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">AbstractCommandErrorHandler</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/abc.py#L8-L25"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/abc.html#abc.ABC" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ABC</span></code></a></p>
+<p>An abstract command error handler.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_app_command_error">
+<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_app_command_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interaction</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/abc.py#L16-L20"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_app_command_error" title="Link to this definition">#</a></dt>
+<dd><p>Handle error raised in the context of app commands.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.NoReturn" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">NoReturn</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_text_command_error">
+<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_text_command_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">context</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/abc.py#L21-L25"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_text_command_error" title="Link to this definition">#</a></dt>
+<dd><p>Handle error raised in the context of text commands.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.NoReturn" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">NoReturn</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.should_handle_error">
+<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">should_handle_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/abc.py#L11-L15"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.should_handle_error" title="Link to this definition">#</a></dt>
+<dd><p>A predicate that determines whether the error should be handled.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.CommandErrorManager">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CommandErrorManager</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/manager.py#L13-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.CommandErrorManager" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
+<p>A class that registers error handlers and handles all command related errors.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.CommandErrorManager.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/manager.py#L16-L20"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.CommandErrorManager.__init__" title="Link to this definition">#</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.CommandErrorManager.handle_error">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">context_or_interaction</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/manager.py#L21-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.CommandErrorManager.handle_error" title="Link to this definition">#</a></dt>
+<dd><p>Handle a Discord exception.</p>
+<p>Iterate through available handlers by registration order, and choose the first one capable of handling
+the error as determined by <cite>should_handle_error</cite>; there is no priority system.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.CommandErrorManager.register_handler">
+<span class="sig-name descname"><span class="pre">register_handler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/manager.py#L39-L48"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.CommandErrorManager.register_handler" title="Link to this definition">#</a></dt>
+<dd><p>Register a command error handler.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<section id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Link to this heading">#</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_app_command_error"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler.handle_app_command_error()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_text_command_error"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler.handle_text_command_error()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.should_handle_error"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler.should_handle_error()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html#pydis_core.utils.error_handling.commands.manager.CommandErrorManager"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.__init__"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager.__init__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.handle_error"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager.handle_error()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.register_handler"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager.register_handler()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</section>
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.error_handling.commands.abc.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">abc</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.error_handling.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">error_handling package</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">commands package</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_app_command_error"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler.handle_app_command_error()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_text_command_error"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler.handle_text_command_error()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.should_handle_error"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler.should_handle_error()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.utils.error_handling.commands.CommandErrorManager"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.error_handling.commands.CommandErrorManager.__init__"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager.__init__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.error_handling.commands.CommandErrorManager.handle_error"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager.handle_error()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.error_handling.commands.CommandErrorManager.register_handler"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager.register_handler()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#submodules">Submodules</a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.error_handling.commands.manager.html b/v11.0.1/output/pydis_core.utils.error_handling.commands.manager.html
new file mode 100644
index 00000000..3bf39edd
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.error_handling.commands.manager.html
@@ -0,0 +1,507 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="caching" href="pydis_core.utils.caching.html" /><link rel="prev" title="abc" href="pydis_core.utils.error_handling.commands.abc.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>manager - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 current has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l4 current has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5 current current-page"><a class="current reference internal" href="#">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.error_handling.commands.manager.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/index.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/index.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/index.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/index.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/index.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/index.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/index.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/index.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/index.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/index.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/index.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/index.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/index.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/index.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/index.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.error_handling.commands.manager.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.commands.manager.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/index.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/index.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/index.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/index.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/index.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/index.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/index.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/index.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/index.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.error_handling.commands.manager">
+<span id="manager"></span><h1>manager<a class="headerlink" href="#module-pydis_core.utils.error_handling.commands.manager" title="Link to this heading">#</a></h1>
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.manager.CommandErrorManager">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CommandErrorManager</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/manager.py#L13-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.manager.CommandErrorManager" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
+<p>A class that registers error handlers and handles all command related errors.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.manager.CommandErrorManager.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">default</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/manager.py#L16-L20"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.__init__" title="Link to this definition">#</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.manager.CommandErrorManager.handle_error">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">context_or_interaction</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/manager.py#L21-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.handle_error" title="Link to this definition">#</a></dt>
+<dd><p>Handle a Discord exception.</p>
+<p>Iterate through available handlers by registration order, and choose the first one capable of handling
+the error as determined by <cite>should_handle_error</cite>; there is no priority system.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.error_handling.commands.manager.CommandErrorManager.register_handler">
+<span class="sig-name descname"><span class="pre">register_handler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">handler</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/commands/manager.py#L39-L48"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.register_handler" title="Link to this definition">#</a></dt>
+<dd><p>Register a command error handler.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.caching.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">caching</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.error_handling.commands.abc.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">abc</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">manager</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.error_handling.commands.manager.CommandErrorManager"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.__init__"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager.__init__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.handle_error"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager.handle_error()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.error_handling.commands.manager.CommandErrorManager.register_handler"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager.register_handler()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.error_handling.html b/v11.0.1/output/pydis_core.utils.error_handling.html
new file mode 100644
index 00000000..77359819
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.error_handling.html
@@ -0,0 +1,517 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="commands package" href="pydis_core.utils.error_handling.commands.html" /><link rel="prev" title="Utils" href="pydis_core.utils.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>error_handling package - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 current has-children current-page"><a class="current reference internal" href="#">error_handling package</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.error_handling.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/output/pydis_core.utils.error_handling.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/output/pydis_core.utils.error_handling.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/output/pydis_core.utils.error_handling.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/output/pydis_core.utils.error_handling.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/output/pydis_core.utils.error_handling.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/index.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/index.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/index.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/index.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/index.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/index.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/index.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/output/pydis_core.utils.error_handling.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/output/pydis_core.utils.error_handling.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/index.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.error_handling.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.error_handling.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/output/pydis_core.utils.error_handling.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/output/pydis_core.utils.error_handling.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/output/pydis_core.utils.error_handling.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/output/pydis_core.utils.error_handling.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/output/pydis_core.utils.error_handling.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/output/pydis_core.utils.error_handling.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/output/pydis_core.utils.error_handling.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.error_handling">
+<span id="error-handling-package"></span><h1>error_handling package<a class="headerlink" href="#module-pydis_core.utils.error_handling" title="Link to this heading">#</a></h1>
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.error_handling.handle_forbidden_from_block">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_forbidden_from_block</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/error_handling/__init__.py#L8-L36"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.handle_forbidden_from_block" title="Link to this definition">#</a></dt>
+<dd><p>Handles <code class="docutils literal notranslate"><span class="pre">discord.Forbidden</span></code> 90001 errors, or re-raises if <code class="docutils literal notranslate"><span class="pre">error</span></code> isn’t a 90001 error.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>error</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Forbidden" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Forbidden</span></code></a></span>) – The raised <code class="docutils literal notranslate"><span class="pre">discord.Forbidden</span></code> to check.</p></li>
+<li><p><strong>message</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Message" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Message</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span>) – The message to reply to and include in logs, if error is 90001 and message is provided.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<section id="subpackages">
+<h2>Subpackages<a class="headerlink" href="#subpackages" title="Link to this heading">#</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_app_command_error"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler.handle_app_command_error()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_text_command_error"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler.handle_text_command_error()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.should_handle_error"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler.should_handle_error()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.CommandErrorManager"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.CommandErrorManager.__init__"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager.__init__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.CommandErrorManager.handle_error"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager.handle_error()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.CommandErrorManager.register_handler"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager.register_handler()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html#submodules">Submodules</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html#pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html#pydis_core.utils.error_handling.commands.manager.CommandErrorManager"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</section>
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.error_handling.commands.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">commands package</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">Utils</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">error_handling package</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.error_handling.handle_forbidden_from_block"><code class="docutils literal notranslate"><span class="pre">handle_forbidden_from_block()</span></code></a></li>
+<li><a class="reference internal" href="#subpackages">Subpackages</a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.function.html b/v11.0.1/output/pydis_core.utils.function.html
new file mode 100644
index 00000000..670017e3
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.function.html
@@ -0,0 +1,600 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="interactions" href="pydis_core.utils.interactions.html" /><link rel="prev" title="cooldown" href="pydis_core.utils.cooldown.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>function - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.function.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/output/pydis_core.utils.function.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/output/pydis_core.utils.function.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/output/pydis_core.utils.function.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/output/pydis_core.utils.function.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/output/pydis_core.utils.function.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/output/pydis_core.utils.function.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/output/pydis_core.utils.function.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/output/pydis_core.utils.function.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/output/pydis_core.utils.function.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/output/pydis_core.utils.function.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/output/pydis_core.utils.function.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/output/pydis_core.utils.function.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/output/pydis_core.utils.function.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/output/pydis_core.utils.function.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/output/pydis_core.utils.function.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.function.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.function.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.function.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/output/pydis_core.utils.function.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/output/pydis_core.utils.function.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/output/pydis_core.utils.function.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/output/pydis_core.utils.function.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/output/pydis_core.utils.function.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/output/pydis_core.utils.function.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/output/pydis_core.utils.function.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.function">
+<span id="function"></span><h1>function<a class="headerlink" href="#module-pydis_core.utils.function" title="Link to this heading">#</a></h1>
+<p>Utils for manipulating functions.</p>
+<dl class="py exception">
+<dt class="sig sig-object py" id="pydis_core.utils.function.GlobalNameConflictError">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GlobalNameConflictError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/function.py#L31-L33"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.GlobalNameConflictError" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
+<p>Raised on a conflict between the globals used to resolve annotations of a wrapped function and its wrapper.</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.function.command_wraps">
+<span class="sig-name descname"><span class="pre">command_wraps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wrapped</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">assigned</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('__module__',</span> <span class="pre">'__name__',</span> <span class="pre">'__qualname__',</span> <span class="pre">'__doc__',</span> <span class="pre">'__annotations__')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">updated</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('__dict__',)</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignored_conflict_names</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">frozenset({})</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/function.py#L173-L204"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.command_wraps" title="Link to this definition">#</a></dt>
+<dd><p>Update the decorated function to look like <code class="docutils literal notranslate"><span class="pre">wrapped</span></code>, and update globals for discord.py forwardref evaluation.</p>
+<p>See <a class="reference internal" href="#pydis_core.utils.function.update_wrapper_globals" title="pydis_core.utils.function.update_wrapper_globals"><code class="xref py py-func docutils literal notranslate"><span class="pre">update_wrapper_globals()</span></code></a> for more details on how the globals are updated.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>wrapped</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.ParamSpec" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ParamSpec</span></code></a>(<code class="docutils literal notranslate"><span class="pre">_P</span></code>)], <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.TypeVar" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">TypeVar</span></code></a>(<code class="docutils literal notranslate"><span class="pre">_R</span></code>)]</span>) – The function to wrap with.</p></li>
+<li><p><strong>assigned</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Sequence</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>]</span>) – Sequence of attribute names that are directly assigned from <code class="docutils literal notranslate"><span class="pre">wrapped</span></code> to <code class="docutils literal notranslate"><span class="pre">wrapper</span></code>.</p></li>
+<li><p><strong>updated</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Sequence</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>]</span>) – Sequence of attribute names that are <code class="docutils literal notranslate"><span class="pre">.update``d</span> <span class="pre">on</span> <span class="pre">``wrapper</span></code> from the attributes on <code class="docutils literal notranslate"><span class="pre">wrapped</span></code>.</p></li>
+<li><p><strong>ignored_conflict_names</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Set" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Set</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>]</span>) – A set of names to ignore if a conflict between them is found.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.ParamSpec" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ParamSpec</span></code></a>(<code class="docutils literal notranslate"><span class="pre">_P</span></code>)], <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.TypeVar" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">TypeVar</span></code></a>(<code class="docutils literal notranslate"><span class="pre">_R</span></code>)]], <a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.ParamSpec" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ParamSpec</span></code></a>(<code class="docutils literal notranslate"><span class="pre">_P</span></code>)], <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.TypeVar" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">TypeVar</span></code></a>(<code class="docutils literal notranslate"><span class="pre">_R</span></code>)]]</span></p>
+</dd>
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>A decorator that behaves like <a class="reference external" href="https://docs.python.org/3/library/functools.html#functools.wraps" title="(in Python v3.12)"><code class="xref py py-func docutils literal notranslate"><span class="pre">functools.wraps()</span></code></a>,
+with the wrapper replaced with the function <a class="reference internal" href="#pydis_core.utils.function.update_wrapper_globals" title="pydis_core.utils.function.update_wrapper_globals"><code class="xref py py-func docutils literal notranslate"><span class="pre">update_wrapper_globals()</span></code></a> returned.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.function.get_arg_value">
+<span class="sig-name descname"><span class="pre">get_arg_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name_or_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arguments</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/function.py#L35-L66"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.get_arg_value" title="Link to this definition">#</a></dt>
+<dd><p>Return a value from <cite>arguments</cite> based on a name or position.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>arguments</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.OrderedDict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">OrderedDict</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>]</span>) – An ordered mapping of parameter names to argument values.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a></span></p>
+</dd>
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Value from <cite>arguments</cite> based on a name or position.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><ul class="simple">
+<li><p><a class="reference external" href="https://docs.python.org/3/library/exceptions.html#TypeError" title="(in Python v3.12)"><strong>TypeError</strong></a> – <cite>name_or_pos</cite> isn’t a str or int.</p></li>
+<li><p><a class="reference external" href="https://docs.python.org/3/library/exceptions.html#ValueError" title="(in Python v3.12)"><strong>ValueError</strong></a> – <cite>name_or_pos</cite> does not match any argument.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.function.get_arg_value_wrapper">
+<span class="sig-name descname"><span class="pre">get_arg_value_wrapper</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">decorator_func</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name_or_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/function.py#L68-L92"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.get_arg_value_wrapper" title="Link to this definition">#</a></dt>
+<dd><p>Call <cite>decorator_func</cite> with the value of the arg at the given name/position.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>decorator_func</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.OrderedDict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">OrderedDict</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>]], <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>]], <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>], <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>]]</span>) – A function that must accept a callable as a parameter to which it will pass a mapping of
+parameter names to argument values of the function it’s decorating.</p></li>
+<li><p><strong>name_or_pos</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></span>) – The name/position of the arg to get the value from.</p></li>
+<li><p><strong>func</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Optional" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Optional</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>], <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>]]</span>) – An optional callable which will return a new value given the argument’s value.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>], <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>]</span></p>
+</dd>
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The decorator returned by <cite>decorator_func</cite>.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.function.get_bound_args">
+<span class="sig-name descname"><span class="pre">get_bound_args</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/function.py#L94-L112"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.get_bound_args" title="Link to this definition">#</a></dt>
+<dd><p>Bind <cite>args</cite> and <cite>kwargs</cite> to <cite>func</cite> and return a mapping of parameter names to argument values.</p>
+<p>Default parameter values are also set.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>args</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a></span>) – The arguments to bind to <code class="docutils literal notranslate"><span class="pre">func</span></code></p></li>
+<li><p><strong>kwargs</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>]</span>) – The keyword arguments to bind to <code class="docutils literal notranslate"><span class="pre">func</span></code></p></li>
+<li><p><strong>func</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a></span>) – The function to bind <code class="docutils literal notranslate"><span class="pre">args</span></code> and <code class="docutils literal notranslate"><span class="pre">kwargs</span></code> to</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.OrderedDict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">OrderedDict</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>]</span></p>
+</dd>
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>A mapping of parameter names to argument values.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.function.update_wrapper_globals">
+<span class="sig-name descname"><span class="pre">update_wrapper_globals</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wrapper</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wrapped</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignored_conflict_names</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">frozenset({})</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/function.py#L114-L171"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.update_wrapper_globals" title="Link to this definition">#</a></dt>
+<dd><p>Create a copy of <code class="docutils literal notranslate"><span class="pre">wrapper</span></code>, the copy’s globals are updated with <code class="docutils literal notranslate"><span class="pre">wrapped</span></code>'s globals.</p>
+<p>For forwardrefs in command annotations, discord.py uses the <code class="docutils literal notranslate"><span class="pre">__global__</span></code> attribute of the function
+to resolve their values. This breaks for decorators that replace the function because they have
+their own globals.</p>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>This function captures the state of <code class="docutils literal notranslate"><span class="pre">wrapped</span></code>'s module’s globals when it’s called;
+changes won’t be reflected in the new function’s globals.</p>
+</div>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>wrapper</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.ParamSpec" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ParamSpec</span></code></a>(<code class="docutils literal notranslate"><span class="pre">_P</span></code>)], <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.TypeVar" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">TypeVar</span></code></a>(<code class="docutils literal notranslate"><span class="pre">_R</span></code>)]</span>) – The function to wrap.</p></li>
+<li><p><strong>wrapped</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.ParamSpec" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ParamSpec</span></code></a>(<code class="docutils literal notranslate"><span class="pre">_P</span></code>)], <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.TypeVar" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">TypeVar</span></code></a>(<code class="docutils literal notranslate"><span class="pre">_R</span></code>)]</span>) – The function to wrap with.</p></li>
+<li><p><strong>ignored_conflict_names</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Set" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Set</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>]</span>) – A set of names to ignore if a conflict between them is found.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#pydis_core.utils.function.GlobalNameConflictError" title="pydis_core.utils.function.GlobalNameConflictError"><strong>GlobalNameConflictError</strong></a> – If <code class="docutils literal notranslate"><span class="pre">wrapper</span></code> and <code class="docutils literal notranslate"><span class="pre">wrapped</span></code> share a global name that’s also used in <code class="docutils literal notranslate"><span class="pre">wrapped</span></code>'s typehints,
+ and is not in <code class="docutils literal notranslate"><span class="pre">ignored_conflict_names</span></code>.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.ParamSpec" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ParamSpec</span></code></a>(<code class="docutils literal notranslate"><span class="pre">_P</span></code>)], <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.TypeVar" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">TypeVar</span></code></a>(<code class="docutils literal notranslate"><span class="pre">_R</span></code>)]</span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.interactions.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">interactions</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.cooldown.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">cooldown</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">function</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.function.GlobalNameConflictError"><code class="docutils literal notranslate"><span class="pre">GlobalNameConflictError</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.function.command_wraps"><code class="docutils literal notranslate"><span class="pre">command_wraps()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.function.get_arg_value"><code class="docutils literal notranslate"><span class="pre">get_arg_value()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.function.get_arg_value_wrapper"><code class="docutils literal notranslate"><span class="pre">get_arg_value_wrapper()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.function.get_bound_args"><code class="docutils literal notranslate"><span class="pre">get_bound_args()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.function.update_wrapper_globals"><code class="docutils literal notranslate"><span class="pre">update_wrapper_globals()</span></code></a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.html b/v11.0.1/output/pydis_core.utils.html
new file mode 100644
index 00000000..de48d312
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.html
@@ -0,0 +1,691 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="error_handling package" href="pydis_core.utils.error_handling.html" /><link rel="prev" title="Exts" href="pydis_core.exts.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>Utils - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children current-page"><a class="current reference internal" href="#">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/output/pydis_core.utils.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/output/pydis_core.utils.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/output/pydis_core.utils.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/output/pydis_core.utils.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/output/pydis_core.utils.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/output/pydis_core.utils.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/output/pydis_core.utils.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/output/pydis_core.utils.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/output/pydis_core.utils.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/output/pydis_core.utils.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/output/pydis_core.utils.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/output/pydis_core.utils.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/output/pydis_core.utils.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/output/pydis_core.utils.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/output/pydis_core.utils.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/output/pydis_core.utils.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/output/pydis_core.utils.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/output/pydis_core.utils.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/output/pydis_core.utils.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/output/pydis_core.utils.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/output/pydis_core.utils.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/output/pydis_core.utils.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils">
+<span id="utils"></span><h1>Utils<a class="headerlink" href="#module-pydis_core.utils" title="Link to this heading">#</a></h1>
+<p>Useful utilities and tools for Discord bot development.</p>
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.apply_monkey_patches">
+<span class="sig-name descname"><span class="pre">apply_monkey_patches</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/__init__.py#L28-L42"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.apply_monkey_patches" title="Link to this definition">#</a></dt>
+<dd><p>Applies all common monkey patches for our bots.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+<dl>
+<dt>Patches <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Command" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.ext.commands.Command</span></code></a> and <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Group" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.ext.commands.Group</span></code></a> to support root aliases.</dt><dd><p>A <code class="docutils literal notranslate"><span class="pre">root_aliases</span></code> keyword argument is added to these two objects, which is a sequence of alias names
+that will act as top-level groups rather than being aliases of the command’s group.</p>
+<p>It’s stored as an attribute also named <code class="docutils literal notranslate"><span class="pre">root_aliases</span></code></p>
+</dd>
+<dt>Patches discord’s internal <code class="docutils literal notranslate"><span class="pre">send_typing</span></code> method so that it ignores 403 errors from Discord.</dt><dd><p>When under heavy load Discord has added a CloudFlare worker to this route, which causes 403 errors to be thrown.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.unqualify">
+<span class="sig-name descname"><span class="pre">unqualify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/_extensions.py#L10-L21"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.unqualify" title="Link to this definition">#</a></dt>
+<dd><p>Return an unqualified name given a qualified module/package <code class="docutils literal notranslate"><span class="pre">name</span></code>.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>name</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></span>) – The module name to unqualify.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></span></p>
+</dd>
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The unqualified module name.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<section id="subpackages">
+<h2>Subpackages<a class="headerlink" href="#subpackages" title="Link to this heading">#</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.error_handling.html#pydis_core.utils.error_handling.handle_forbidden_from_block"><code class="docutils literal notranslate"><span class="pre">handle_forbidden_from_block()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.error_handling.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler"><code class="docutils literal notranslate"><span class="pre">AbstractCommandErrorHandler</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html#pydis_core.utils.error_handling.commands.CommandErrorManager"><code class="docutils literal notranslate"><span class="pre">CommandErrorManager</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html#submodules">Submodules</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</section>
+<section id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Link to this heading">#</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.caching.html#pydis_core.utils.caching.AsyncCache"><code class="docutils literal notranslate"><span class="pre">AsyncCache</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html#pydis_core.utils.caching.AsyncCache.__call__"><code class="docutils literal notranslate"><span class="pre">AsyncCache.__call__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html#pydis_core.utils.caching.AsyncCache.__init__"><code class="docutils literal notranslate"><span class="pre">AsyncCache.__init__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html#pydis_core.utils.caching.AsyncCache.clear"><code class="docutils literal notranslate"><span class="pre">AsyncCache.clear()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.channel.html#pydis_core.utils.channel.get_or_fetch_channel"><code class="docutils literal notranslate"><span class="pre">get_or_fetch_channel()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.channel.html#pydis_core.utils.channel.is_in_category"><code class="docutils literal notranslate"><span class="pre">is_in_category()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.checks.html#pydis_core.utils.checks.ContextCheckFailure"><code class="docutils literal notranslate"><span class="pre">ContextCheckFailure</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html#pydis_core.utils.checks.ContextCheckFailure.__init__"><code class="docutils literal notranslate"><span class="pre">ContextCheckFailure.__init__()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.checks.html#pydis_core.utils.checks.InWhitelistCheckFailure"><code class="docutils literal notranslate"><span class="pre">InWhitelistCheckFailure</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.checks.html#pydis_core.utils.checks.cooldown_with_role_bypass"><code class="docutils literal notranslate"><span class="pre">cooldown_with_role_bypass()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.checks.html#pydis_core.utils.checks.has_any_role_check"><code class="docutils literal notranslate"><span class="pre">has_any_role_check()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.checks.html#pydis_core.utils.checks.has_no_roles_check"><code class="docutils literal notranslate"><span class="pre">has_no_roles_check()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.checks.html#pydis_core.utils.checks.in_whitelist_check"><code class="docutils literal notranslate"><span class="pre">in_whitelist_check()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.commands.html#pydis_core.utils.commands.clean_text_or_reply"><code class="docutils literal notranslate"><span class="pre">clean_text_or_reply()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.cooldown.html#pydis_core.utils.cooldown.CommandOnCooldown"><code class="docutils literal notranslate"><span class="pre">CommandOnCooldown</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html#pydis_core.utils.cooldown.CommandOnCooldown.__init__"><code class="docutils literal notranslate"><span class="pre">CommandOnCooldown.__init__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html#pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"><code class="docutils literal notranslate"><span class="pre">CommandOnCooldown.call_without_cooldown()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.cooldown.html#pydis_core.utils.cooldown.P"><code class="docutils literal notranslate"><span class="pre">P</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.cooldown.html#pydis_core.utils.cooldown.R"><code class="docutils literal notranslate"><span class="pre">R</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.cooldown.html#pydis_core.utils.cooldown.block_duplicate_invocations"><code class="docutils literal notranslate"><span class="pre">block_duplicate_invocations()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.function.html">function</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.GlobalNameConflictError"><code class="docutils literal notranslate"><span class="pre">GlobalNameConflictError</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.command_wraps"><code class="docutils literal notranslate"><span class="pre">command_wraps()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.get_arg_value"><code class="docutils literal notranslate"><span class="pre">get_arg_value()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.get_arg_value_wrapper"><code class="docutils literal notranslate"><span class="pre">get_arg_value_wrapper()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.get_bound_args"><code class="docutils literal notranslate"><span class="pre">get_bound_args()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.update_wrapper_globals"><code class="docutils literal notranslate"><span class="pre">update_wrapper_globals()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.interactions.html#pydis_core.utils.interactions.DeleteMessageButton"><code class="docutils literal notranslate"><span class="pre">DeleteMessageButton</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html#pydis_core.utils.interactions.DeleteMessageButton.__init__"><code class="docutils literal notranslate"><span class="pre">DeleteMessageButton.__init__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html#pydis_core.utils.interactions.DeleteMessageButton.callback"><code class="docutils literal notranslate"><span class="pre">DeleteMessageButton.callback()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck"><code class="docutils literal notranslate"><span class="pre">ViewWithUserAndRoleCheck</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"><code class="docutils literal notranslate"><span class="pre">ViewWithUserAndRoleCheck.__init__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"><code class="docutils literal notranslate"><span class="pre">ViewWithUserAndRoleCheck.interaction_check()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"><code class="docutils literal notranslate"><span class="pre">ViewWithUserAndRoleCheck.on_timeout()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"><code class="docutils literal notranslate"><span class="pre">ViewWithUserAndRoleCheck.stop()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.interactions.html#pydis_core.utils.interactions.user_has_access"><code class="docutils literal notranslate"><span class="pre">user_has_access()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError"><code class="docutils literal notranslate"><span class="pre">LockedResourceError</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError.type"><code class="docutils literal notranslate"><span class="pre">LockedResourceError.type</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError.id"><code class="docutils literal notranslate"><span class="pre">LockedResourceError.id</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError.__init__"><code class="docutils literal notranslate"><span class="pre">LockedResourceError.__init__()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent"><code class="docutils literal notranslate"><span class="pre">SharedEvent</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent.__enter__"><code class="docutils literal notranslate"><span class="pre">SharedEvent.__enter__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent.__exit__"><code class="docutils literal notranslate"><span class="pre">SharedEvent.__exit__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent.__init__"><code class="docutils literal notranslate"><span class="pre">SharedEvent.__init__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent.wait"><code class="docutils literal notranslate"><span class="pre">SharedEvent.wait()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.lock"><code class="docutils literal notranslate"><span class="pre">lock()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.lock_arg"><code class="docutils literal notranslate"><span class="pre">lock_arg()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.logging.html#pydis_core.utils.logging.CustomLogger"><code class="docutils literal notranslate"><span class="pre">CustomLogger</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html#pydis_core.utils.logging.CustomLogger.trace"><code class="docutils literal notranslate"><span class="pre">CustomLogger.trace()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.logging.html#pydis_core.utils.logging.get_logger"><code class="docutils literal notranslate"><span class="pre">get_logger()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.logging.html#pydis_core.utils.logging.log_format"><code class="docutils literal notranslate"><span class="pre">log_format</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.members.html">members</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.members.html#pydis_core.utils.members.get_or_fetch_member"><code class="docutils literal notranslate"><span class="pre">get_or_fetch_member()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.members.html#pydis_core.utils.members.handle_role_change"><code class="docutils literal notranslate"><span class="pre">handle_role_change()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.messages.html#pydis_core.utils.messages.reaction_check"><code class="docutils literal notranslate"><span class="pre">reaction_check()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.pagination.html#pydis_core.utils.pagination.EmptyPaginatorEmbedError"><code class="docutils literal notranslate"><span class="pre">EmptyPaginatorEmbedError</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.pagination.html#pydis_core.utils.pagination.LinePaginator"><code class="docutils literal notranslate"><span class="pre">LinePaginator</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html#pydis_core.utils.pagination.LinePaginator.__init__"><code class="docutils literal notranslate"><span class="pre">LinePaginator.__init__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html#pydis_core.utils.pagination.LinePaginator.add_line"><code class="docutils literal notranslate"><span class="pre">LinePaginator.add_line()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html#pydis_core.utils.pagination.LinePaginator.paginate"><code class="docutils literal notranslate"><span class="pre">LinePaginator.paginate()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.pagination.html#pydis_core.utils.pagination.PaginationEmojis"><code class="docutils literal notranslate"><span class="pre">PaginationEmojis</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html#pydis_core.utils.pagination.PaginationEmojis.model_computed_fields"><code class="docutils literal notranslate"><span class="pre">PaginationEmojis.model_computed_fields</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html#pydis_core.utils.pagination.PaginationEmojis.model_config"><code class="docutils literal notranslate"><span class="pre">PaginationEmojis.model_config</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html#pydis_core.utils.pagination.PaginationEmojis.model_fields"><code class="docutils literal notranslate"><span class="pre">PaginationEmojis.model_fields</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.MAX_PASTE_SIZE"><code class="docutils literal notranslate"><span class="pre">MAX_PASTE_SIZE</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteFile"><code class="docutils literal notranslate"><span class="pre">PasteFile</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteFile.model_computed_fields"><code class="docutils literal notranslate"><span class="pre">PasteFile.model_computed_fields</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteFile.model_config"><code class="docutils literal notranslate"><span class="pre">PasteFile.model_config</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteFile.model_fields"><code class="docutils literal notranslate"><span class="pre">PasteFile.model_fields</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteResponse"><code class="docutils literal notranslate"><span class="pre">PasteResponse</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteResponse.model_computed_fields"><code class="docutils literal notranslate"><span class="pre">PasteResponse.model_computed_fields</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteResponse.model_config"><code class="docutils literal notranslate"><span class="pre">PasteResponse.model_config</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteResponse.model_fields"><code class="docutils literal notranslate"><span class="pre">PasteResponse.model_fields</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteTooLongError"><code class="docutils literal notranslate"><span class="pre">PasteTooLongError</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteUnsupportedLexerError"><code class="docutils literal notranslate"><span class="pre">PasteUnsupportedLexerError</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.PasteUploadError"><code class="docutils literal notranslate"><span class="pre">PasteUploadError</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.paste_service.html#pydis_core.utils.paste_service.send_to_paste_service"><code class="docutils literal notranslate"><span class="pre">send_to_paste_service()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.regex.html#pydis_core.utils.regex.DISCORD_INVITE"><code class="docutils literal notranslate"><span class="pre">DISCORD_INVITE</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.regex.html#pydis_core.utils.regex.FORMATTED_CODE_REGEX"><code class="docutils literal notranslate"><span class="pre">FORMATTED_CODE_REGEX</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.regex.html#pydis_core.utils.regex.RAW_CODE_REGEX"><code class="docutils literal notranslate"><span class="pre">RAW_CODE_REGEX</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler"><code class="docutils literal notranslate"><span class="pre">Scheduler</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler.__contains__"><code class="docutils literal notranslate"><span class="pre">Scheduler.__contains__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler.__init__"><code class="docutils literal notranslate"><span class="pre">Scheduler.__init__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler.cancel"><code class="docutils literal notranslate"><span class="pre">Scheduler.cancel()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler.cancel_all"><code class="docutils literal notranslate"><span class="pre">Scheduler.cancel_all()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler.schedule"><code class="docutils literal notranslate"><span class="pre">Scheduler.schedule()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler.schedule_at"><code class="docutils literal notranslate"><span class="pre">Scheduler.schedule_at()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler.schedule_later"><code class="docutils literal notranslate"><span class="pre">Scheduler.schedule_later()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.create_task"><code class="docutils literal notranslate"><span class="pre">create_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</div>
+</section>
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.error_handling.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">error_handling package</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.exts.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">Exts</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">Utils</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.apply_monkey_patches"><code class="docutils literal notranslate"><span class="pre">apply_monkey_patches()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.unqualify"><code class="docutils literal notranslate"><span class="pre">unqualify()</span></code></a></li>
+<li><a class="reference internal" href="#subpackages">Subpackages</a></li>
+<li><a class="reference internal" href="#submodules">Submodules</a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.interactions.html b/v11.0.1/output/pydis_core.utils.interactions.html
new file mode 100644
index 00000000..a8126077
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.interactions.html
@@ -0,0 +1,589 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="lock" href="pydis_core.utils.lock.html" /><link rel="prev" title="function" href="pydis_core.utils.function.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>interactions - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.interactions.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/output/pydis_core.utils.interactions.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/output/pydis_core.utils.interactions.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/output/pydis_core.utils.interactions.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/output/pydis_core.utils.interactions.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/output/pydis_core.utils.interactions.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/output/pydis_core.utils.interactions.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/output/pydis_core.utils.interactions.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/output/pydis_core.utils.interactions.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/output/pydis_core.utils.interactions.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/output/pydis_core.utils.interactions.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/output/pydis_core.utils.interactions.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/output/pydis_core.utils.interactions.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/output/pydis_core.utils.interactions.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/output/pydis_core.utils.interactions.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/output/pydis_core.utils.interactions.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.interactions.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.interactions.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.interactions.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/output/pydis_core.utils.interactions.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/output/pydis_core.utils.interactions.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/output/pydis_core.utils.interactions.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/output/pydis_core.utils.interactions.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/output/pydis_core.utils.interactions.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/output/pydis_core.utils.interactions.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/output/pydis_core.utils.interactions.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.interactions">
+<span id="interactions"></span><h1>interactions<a class="headerlink" href="#module-pydis_core.utils.interactions" title="Link to this heading">#</a></h1>
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.utils.interactions.DeleteMessageButton">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">DeleteMessageButton</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">style</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('secondary',</span> <span class="pre">2)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Delete'</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L110-L136"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.DeleteMessageButton" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/interactions/api.html#discord.ui.Button" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Button</span></code></a></p>
+<p>A button that can be added to a view to delete the message containing the view on click.</p>
+<p>This button itself carries out no interaction checks, these should be done by the parent view.</p>
+<p>See <a class="reference internal" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck" title="pydis_core.utils.interactions.ViewWithUserAndRoleCheck"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.interactions.ViewWithUserAndRoleCheck</span></code></a> for a view that implements basic checks.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>style</strong> (<a class="reference external" href="https://discordpy.readthedocs.io/en/latest/interactions/api.html#discord.ButtonStyle"><code class="docutils literal notranslate"><span class="pre">ButtonStyle</span></code></a>) – The style of the button, set to <code class="docutils literal notranslate"><span class="pre">ButtonStyle.secondary</span></code> if not specified.</p></li>
+<li><p><strong>label</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></span>) – The label of the button, set to “Delete” if not specified.</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.interactions.DeleteMessageButton.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">style</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('secondary',</span> <span class="pre">2)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Delete'</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L124-L132"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.DeleteMessageButton.__init__" title="Link to this definition">#</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.interactions.DeleteMessageButton.callback">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">callback</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interaction</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L133-L136"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.DeleteMessageButton.callback" title="Link to this definition">#</a></dt>
+<dd><p>Delete the original message on button click.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.utils.interactions.ViewWithUserAndRoleCheck">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ViewWithUserAndRoleCheck</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L49-L108"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/interactions/api.html#discord.ui.View" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">View</span></code></a></p>
+<p>A view that allows the original invoker and moderators to interact with it.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>allowed_users</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Sequence</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>]</span>) – A sequence of user’s ids who are allowed to interact with the view.</p></li>
+<li><p><strong>allowed_roles</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Sequence</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>]</span>) – A sequence of role ids that are allowed to interact with the view.</p></li>
+<li><p><strong>timeout</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#float" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span>) – Timeout in seconds from last interaction with the UI before no longer accepting input.
+If <code class="docutils literal notranslate"><span class="pre">None</span></code> then there is no timeout.</p></li>
+<li><p><strong>message</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Message" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Message</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span>) – The message to remove the view from on timeout. This can also be set with
+<code class="docutils literal notranslate"><span class="pre">view.message</span> <span class="pre">=</span> <span class="pre">await</span> <span class="pre">ctx.send(</span> <span class="pre">...</span> <span class="pre">)`</span></code> , or similar, after the view is instantiated.</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L62-L74"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__" title="Link to this definition">#</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">interaction_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interaction</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L75-L97"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check" title="Link to this definition">#</a></dt>
+<dd><p>Ensure the user clicking the button is the view invoker, or a moderator.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>interaction</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/interactions/api.html#discord.Interaction" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Interaction</span></code></a></span>) – The interaction that occurred.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">on_timeout</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L104-L108"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout" title="Link to this definition">#</a></dt>
+<dd><p>Remove the view from <code class="docutils literal notranslate"><span class="pre">self.message</span></code> if set.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop">
+<span class="sig-name descname"><span class="pre">stop</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L98-L103"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop" title="Link to this definition">#</a></dt>
+<dd><p>Stop listening for interactions, and remove the view from <code class="docutils literal notranslate"><span class="pre">self.message</span></code> if set.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.interactions.user_has_access">
+<span class="sig-name descname"><span class="pre">user_has_access</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">user</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/interactions.py#L12-L29"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.user_has_access" title="Link to this definition">#</a></dt>
+<dd><p>Return whether the user is in the allowed_users list, or has a role from allowed_roles.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>user</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.User" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">User</span></code></a> | <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Member" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Member</span></code></a></span>) – The user to check</p></li>
+<li><p><strong>allowed_users</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Sequence</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>]</span>) – A sequence of user ids that are allowed access</p></li>
+<li><p><strong>allowed_roles</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Sequence</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>]</span>) – A sequence of role ids that are allowed access</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.lock.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">lock</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.function.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">function</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">interactions</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.interactions.DeleteMessageButton"><code class="docutils literal notranslate"><span class="pre">DeleteMessageButton</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.interactions.DeleteMessageButton.__init__"><code class="docutils literal notranslate"><span class="pre">DeleteMessageButton.__init__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.interactions.DeleteMessageButton.callback"><code class="docutils literal notranslate"><span class="pre">DeleteMessageButton.callback()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck"><code class="docutils literal notranslate"><span class="pre">ViewWithUserAndRoleCheck</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"><code class="docutils literal notranslate"><span class="pre">ViewWithUserAndRoleCheck.__init__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"><code class="docutils literal notranslate"><span class="pre">ViewWithUserAndRoleCheck.interaction_check()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"><code class="docutils literal notranslate"><span class="pre">ViewWithUserAndRoleCheck.on_timeout()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"><code class="docutils literal notranslate"><span class="pre">ViewWithUserAndRoleCheck.stop()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.utils.interactions.user_has_access"><code class="docutils literal notranslate"><span class="pre">user_has_access()</span></code></a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.lock.html b/v11.0.1/output/pydis_core.utils.lock.html
new file mode 100644
index 00000000..34e2b0f6
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.lock.html
@@ -0,0 +1,593 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="logging" href="pydis_core.utils.logging.html" /><link rel="prev" title="interactions" href="pydis_core.utils.interactions.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>lock - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.lock.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/index.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/index.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/index.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/index.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/index.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/index.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/index.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/index.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/index.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/index.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/index.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/index.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/index.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/index.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/index.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.lock.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.lock.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.lock.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/index.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/index.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/index.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/index.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/index.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/index.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/index.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/index.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.lock">
+<span id="lock"></span><h1>lock<a class="headerlink" href="#module-pydis_core.utils.lock" title="Link to this heading">#</a></h1>
+<dl class="py exception">
+<dt class="sig sig-object py" id="pydis_core.utils.lock.LockedResourceError">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LockedResourceError</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">resource_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resource_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L22-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#RuntimeError" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">RuntimeError</span></code></a></p>
+<p>Exception raised when an operation is attempted on a locked resource.</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.utils.lock.LockedResourceError.type">
+<span class="sig-name descname"><span class="pre">type</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L22-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError.type" title="Link to this definition">#</a></dt>
+<dd><p>Name of the locked resource’s type</p>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)">str</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.utils.lock.LockedResourceError.id">
+<span class="sig-name descname"><span class="pre">id</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L22-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError.id" title="Link to this definition">#</a></dt>
+<dd><p>ID of the locked resource</p>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Hashable" title="(in Python v3.12)"><em>Hashable</em></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.lock.LockedResourceError.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">resource_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resource_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L31-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError.__init__" title="Link to this definition">#</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.utils.lock.SharedEvent">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">SharedEvent</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L41-L68"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
+<p>Context manager managing an internal event exposed through the wait coro.</p>
+<p>While any code is executing in this context manager, the underlying event will not be set;
+when all of the holders finish the event will be set.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.lock.SharedEvent.__enter__">
+<span class="sig-name descname"><span class="pre">__enter__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L54-L58"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.__enter__" title="Link to this definition">#</a></dt>
+<dd><p>Increment the count of the active holders and clear the internal event.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.lock.SharedEvent.__exit__">
+<span class="sig-name descname"><span class="pre">__exit__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">_exc_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">_exc_val</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">_exc_tb</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L59-L64"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.__exit__" title="Link to this definition">#</a></dt>
+<dd><p>Decrement the count of the active holders; if 0 is reached set the internal event.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.lock.SharedEvent.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L49-L53"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.__init__" title="Link to this definition">#</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.lock.SharedEvent.wait">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">wait</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L65-L68"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.wait" title="Link to this definition">#</a></dt>
+<dd><p>Wait for all active holders to exit.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.lock.lock">
+<span class="sig-name descname"><span class="pre">lock</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">namespace</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resource_id</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_error</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wait</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L70-L137"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.lock" title="Link to this definition">#</a></dt>
+<dd><p>Turn the decorated coroutine function into a mutually exclusive operation on a <cite>resource_id</cite>.</p>
+<p>If decorating a command, this decorator must go before (below) the <cite>command</cite> decorator.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>namespace</strong> (<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Hashable" title="(in Python v3.12)"><em>Hashable</em></a>) – An identifier used to prevent collisions among resource IDs.</p></li>
+<li><p><strong>resource_id</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Hashable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Hashable</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.OrderedDict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">OrderedDict</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>]], <a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Hashable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Hashable</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Awaitable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Awaitable</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Hashable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Hashable</span></code></a>]]</span>) – identifies a resource on which to perform a mutually exclusive operation.
+It may also be a callable or awaitable which will return the resource ID given an ordered
+mapping of the parameters’ names to arguments’ values.</p></li>
+<li><p><strong>raise_error</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><em>bool</em></a>) – If True, raise <cite>LockedResourceError</cite> if the lock cannot be acquired.</p></li>
+<li><p><strong>wait</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><em>bool</em></a>) – If True, wait until the lock becomes available. Otherwise, if any other mutually
+exclusive function currently holds the lock for a resource, do not run the decorated function
+and return None.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#pydis_core.utils.lock.LockedResourceError" title="pydis_core.utils.lock.LockedResourceError"><strong>LockedResourceError</strong></a> – If the lock can’t be acquired and <cite>raise_error</cite> is set to True.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.lock.lock_arg">
+<span class="sig-name descname"><span class="pre">lock_arg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">namespace</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name_or_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_error</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wait</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/lock.py#L139-L157"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.lock_arg" title="Link to this definition">#</a></dt>
+<dd><p>Apply the <cite>lock</cite> decorator using the value of the arg at the given name/position as the ID.</p>
+<p>See <cite>lock</cite> docs for more information.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>func</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>], <a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Hashable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Hashable</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Awaitable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Awaitable</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Hashable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Hashable</span></code></a>]] | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span>) – An optional callable or awaitable which will return the ID given the argument value.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.logging.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">logging</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.interactions.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">interactions</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">lock</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.lock.LockedResourceError"><code class="docutils literal notranslate"><span class="pre">LockedResourceError</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.lock.LockedResourceError.type"><code class="docutils literal notranslate"><span class="pre">LockedResourceError.type</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.lock.LockedResourceError.id"><code class="docutils literal notranslate"><span class="pre">LockedResourceError.id</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.lock.LockedResourceError.__init__"><code class="docutils literal notranslate"><span class="pre">LockedResourceError.__init__()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.utils.lock.SharedEvent"><code class="docutils literal notranslate"><span class="pre">SharedEvent</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.lock.SharedEvent.__enter__"><code class="docutils literal notranslate"><span class="pre">SharedEvent.__enter__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.lock.SharedEvent.__exit__"><code class="docutils literal notranslate"><span class="pre">SharedEvent.__exit__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.lock.SharedEvent.__init__"><code class="docutils literal notranslate"><span class="pre">SharedEvent.__init__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.lock.SharedEvent.wait"><code class="docutils literal notranslate"><span class="pre">SharedEvent.wait()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.utils.lock.lock"><code class="docutils literal notranslate"><span class="pre">lock()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.lock.lock_arg"><code class="docutils literal notranslate"><span class="pre">lock_arg()</span></code></a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.logging.html b/v11.0.1/output/pydis_core.utils.logging.html
new file mode 100644
index 00000000..d3250772
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.logging.html
@@ -0,0 +1,526 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="members" href="pydis_core.utils.members.html" /><link rel="prev" title="lock" href="pydis_core.utils.lock.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>logging - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.logging.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/output/pydis_core.utils.logging.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/output/pydis_core.utils.logging.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/output/pydis_core.utils.logging.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/output/pydis_core.utils.logging.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/output/pydis_core.utils.logging.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/output/pydis_core.utils.logging.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/output/pydis_core.utils.logging.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/output/pydis_core.utils.logging.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/output/pydis_core.utils.logging.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/output/pydis_core.utils.logging.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/output/pydis_core.utils.logging.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/output/pydis_core.utils.logging.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/output/pydis_core.utils.logging.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/output/pydis_core.utils.logging.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/output/pydis_core.utils.logging.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.logging.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.logging.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.logging.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/output/pydis_core.utils.logging.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/output/pydis_core.utils.logging.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/output/pydis_core.utils.logging.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/output/pydis_core.utils.logging.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/output/pydis_core.utils.logging.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/output/pydis_core.utils.logging.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/output/pydis_core.utils.logging.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.logging">
+<span id="logging"></span><h1>logging<a class="headerlink" href="#module-pydis_core.utils.logging" title="Link to this heading">#</a></h1>
+<p>Common logging related functions.</p>
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.utils.logging.CustomLogger">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CustomLogger</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">level</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/logging.py#L20-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.CustomLogger" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/logging.html#logging.Logger" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Logger</span></code></a></p>
+<p>Custom implementation of the <a class="reference external" href="https://docs.python.org/3/library/logging.html#logging.Logger" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">logging.Logger</span></code></a> class with an added <a class="reference internal" href="#pydis_core.utils.logging.CustomLogger.trace" title="pydis_core.utils.logging.CustomLogger.trace"><code class="xref py py-obj docutils literal notranslate"><span class="pre">trace</span></code></a> method.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.logging.CustomLogger.trace">
+<span class="sig-name descname"><span class="pre">trace</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">msg</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/logging.py#L23-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.CustomLogger.trace" title="Link to this definition">#</a></dt>
+<dd><p>Log the given message with the severity <code class="docutils literal notranslate"><span class="pre">&quot;TRACE&quot;</span></code>.</p>
+<p>To pass exception information, use the keyword argument exc_info with a true value:</p>
+<div class="highlight-py notranslate"><div class="highlight"><pre><span></span><span class="n">logger</span><span class="o">.</span><span class="n">trace</span><span class="p">(</span><span class="s2">&quot;Houston, we have an </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="s2">&quot;interesting problem&quot;</span><span class="p">,</span> <span class="n">exc_info</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
+</pre></div>
+</div>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>msg</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></span>) – The message to be logged.</p></li>
+<li><p><strong>args</strong> – Passed to the base log function as is.</p></li>
+<li><p><strong>kwargs</strong> – Passed to the base log function as is.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.logging.get_logger">
+<span class="sig-name descname"><span class="pre">get_logger</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/logging.py#L41-L52"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.get_logger" title="Link to this definition">#</a></dt>
+<dd><p>Utility to make mypy recognise that logger is of type <a class="reference internal" href="#pydis_core.utils.logging.CustomLogger" title="pydis_core.utils.logging.CustomLogger"><code class="xref py py-obj docutils literal notranslate"><span class="pre">CustomLogger</span></code></a>.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>name</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span>) – The name given to the logger.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference internal" href="#pydis_core.utils.logging.CustomLogger" title="pydis_core.utils.logging.CustomLogger"><code class="xref py py-class docutils literal notranslate"><span class="pre">CustomLogger</span></code></a></span></p>
+</dd>
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>An instance of the <a class="reference internal" href="#pydis_core.utils.logging.CustomLogger" title="pydis_core.utils.logging.CustomLogger"><code class="xref py py-obj docutils literal notranslate"><span class="pre">CustomLogger</span></code></a> class.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="pydis_core.utils.logging.log_format">
+<span class="sig-name descname"><span class="pre">log_format</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/logging.py#L12"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.log_format" title="Link to this definition">#</a></dt>
+<dd><p>A <a class="reference external" href="https://docs.python.org/3/library/logging.html#logging.Formatter" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">logging.Formatter</span></code></a> that can be used to standardise logging across all projects using pydis_core.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.members.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">members</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.lock.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">lock</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">logging</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.logging.CustomLogger"><code class="docutils literal notranslate"><span class="pre">CustomLogger</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.logging.CustomLogger.trace"><code class="docutils literal notranslate"><span class="pre">CustomLogger.trace()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.utils.logging.get_logger"><code class="docutils literal notranslate"><span class="pre">get_logger()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.logging.log_format"><code class="docutils literal notranslate"><span class="pre">log_format</span></code></a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.members.html b/v11.0.1/output/pydis_core.utils.members.html
new file mode 100644
index 00000000..ebaa7192
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.members.html
@@ -0,0 +1,502 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="messages" href="pydis_core.utils.messages.html" /><link rel="prev" title="logging" href="pydis_core.utils.logging.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>members - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.members.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/output/pydis_core.utils.members.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/output/pydis_core.utils.members.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/output/pydis_core.utils.members.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/output/pydis_core.utils.members.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/output/pydis_core.utils.members.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/output/pydis_core.utils.members.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/output/pydis_core.utils.members.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/output/pydis_core.utils.members.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/output/pydis_core.utils.members.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/output/pydis_core.utils.members.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/output/pydis_core.utils.members.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/output/pydis_core.utils.members.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/output/pydis_core.utils.members.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/output/pydis_core.utils.members.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/output/pydis_core.utils.members.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.members.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.members.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.members.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/output/pydis_core.utils.members.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/output/pydis_core.utils.members.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/output/pydis_core.utils.members.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/output/pydis_core.utils.members.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/output/pydis_core.utils.members.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/output/pydis_core.utils.members.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/output/pydis_core.utils.members.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.members">
+<span id="members"></span><h1>members<a class="headerlink" href="#module-pydis_core.utils.members" title="Link to this heading">#</a></h1>
+<p>Useful helper functions for interactin with <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Member" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.Member</span></code></a> objects.</p>
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.members.get_or_fetch_member">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get_or_fetch_member</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">guild</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">member_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/members.py#L12-L31"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.members.get_or_fetch_member" title="Link to this definition">#</a></dt>
+<dd><p>Attempt to get a member from cache; on failure fetch from the API.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Member" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Member</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Member" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.Member</span></code></a> or <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a> to indicate the member could not be found.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.members.handle_role_change">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_role_change</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">member</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coro</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">role</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/members.py#L33-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.members.handle_role_change" title="Link to this definition">#</a></dt>
+<dd><p>Await the given <code class="docutils literal notranslate"><span class="pre">coro</span></code> with <code class="docutils literal notranslate"><span class="pre">role</span></code> as the sole argument.</p>
+<p>Handle errors that we expect to be raised from
+<a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Member.add_roles" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.Member.add_roles</span></code></a> and <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Member.remove_roles" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.Member.remove_roles</span></code></a>.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>member</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Member" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Member</span></code></a></span>) – The member that is being modified for logging purposes.</p></li>
+<li><p><strong>coro</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Role" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Role</span></code></a>], <a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Coroutine" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Coroutine</span></code></a>]</span>) – This is intended to be <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Member.add_roles" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.Member.add_roles</span></code></a> or <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Member.remove_roles" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.Member.remove_roles</span></code></a>.</p></li>
+<li><p><strong>role</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Role" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Role</span></code></a></span>) – The role to be passed to <code class="docutils literal notranslate"><span class="pre">coro</span></code>.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.messages.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">messages</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.logging.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">logging</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">members</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.members.get_or_fetch_member"><code class="docutils literal notranslate"><span class="pre">get_or_fetch_member()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.members.handle_role_change"><code class="docutils literal notranslate"><span class="pre">handle_role_change()</span></code></a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.messages.html b/v11.0.1/output/pydis_core.utils.messages.html
new file mode 100644
index 00000000..2507b369
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.messages.html
@@ -0,0 +1,479 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="pagination" href="pydis_core.utils.pagination.html" /><link rel="prev" title="members" href="pydis_core.utils.members.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>messages - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.messages.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/index.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/index.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/index.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/index.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/index.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/index.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/index.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/index.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/index.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/index.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/index.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/index.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/index.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/index.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/index.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.messages.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.messages.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.messages.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.messages.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/index.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/index.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/index.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/index.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/index.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/index.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/index.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.messages">
+<span id="messages"></span><h1>messages<a class="headerlink" href="#module-pydis_core.utils.messages" title="Link to this heading">#</a></h1>
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.messages.reaction_check">
+<span class="sig-name descname"><span class="pre">reaction_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">reaction</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">user</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_emoji</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/messages.py#L11-L48"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.messages.reaction_check" title="Link to this definition">#</a></dt>
+<dd><p>Check if a reaction’s emoji and author are allowed and the message is <cite>message_id</cite>.</p>
+<p>If the user is not allowed, remove the reaction. Ignore reactions made by the bot.
+If <cite>allow_mods</cite> is True, allow users with moderator roles even if they’re not in <cite>allowed_users</cite>.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.pagination.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">pagination</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.members.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">members</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">messages</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.messages.reaction_check"><code class="docutils literal notranslate"><span class="pre">reaction_check()</span></code></a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.pagination.html b/v11.0.1/output/pydis_core.utils.pagination.html
new file mode 100644
index 00000000..f6def4dc
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.pagination.html
@@ -0,0 +1,608 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="paste_service" href="pydis_core.utils.paste_service.html" /><link rel="prev" title="messages" href="pydis_core.utils.messages.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>pagination - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.pagination.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/index.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/index.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/index.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/index.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/index.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/index.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/index.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/index.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/index.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/index.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/index.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/index.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/index.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/index.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/index.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.pagination.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.pagination.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.pagination.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.pagination.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/index.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/index.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/index.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/index.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/index.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/index.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/index.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.pagination">
+<span id="pagination"></span><h1>pagination<a class="headerlink" href="#module-pydis_core.utils.pagination" title="Link to this heading">#</a></h1>
+<dl class="py exception">
+<dt class="sig sig-object py" id="pydis_core.utils.pagination.EmptyPaginatorEmbedError">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">EmptyPaginatorEmbedError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L26-L28"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.EmptyPaginatorEmbedError" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
+<p>Raised when attempting to paginate with empty contents.</p>
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.utils.pagination.LinePaginator">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LinePaginator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L30-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Paginator" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Paginator</span></code></a></p>
+<p>A class that aids in paginating code blocks for Discord messages.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>pagination_emojis</strong> (<a class="reference internal" href="#pydis_core.utils.pagination.PaginationEmojis" title="pydis_core.utils.pagination.PaginationEmojis"><em>PaginationEmojis</em></a>) – The emojis used to navigate pages.</p></li>
+<li><p><strong>prefix</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – The prefix inserted to every page. e.g. three backticks.</p></li>
+<li><p><strong>suffix</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – The suffix appended at the end of every page. e.g. three backticks.</p></li>
+<li><p><strong>max_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a>) – The maximum amount of codepoints allowed in a page.</p></li>
+<li><p><strong>scale_to_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a>) – The maximum amount of characters a single line can scale up to.</p></li>
+<li><p><strong>max_lines</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a>) – The maximum amount of lines allowed in a page.</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.pagination.LinePaginator.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L43-L81"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator.__init__" title="Link to this definition">#</a></dt>
+<dd><p>This function overrides the Paginator.__init__ from inside discord.ext.commands.</p>
+<p>It overrides in order to allow us to configure the maximum number of lines per page.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.pagination.LinePaginator.add_line">
+<span class="sig-name descname"><span class="pre">add_line</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">line</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L82-L134"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator.add_line" title="Link to this definition">#</a></dt>
+<dd><p>Adds a line to the current page.</p>
+<p>If a line on a page exceeds <cite>max_size</cite> characters, then <cite>max_size</cite> will go up to
+<cite>scale_to_size</cite> for a single line before creating a new page for the overflow words. If it
+is still exceeded, the excess characters are stored and placed on the next pages unti
+there are none remaining (by word boundary). The line is truncated if <cite>scale_to_size</cite> is
+still exceeded after attempting to continue onto the next page.</p>
+<p>In the case that the page already contains one or more lines and the new lines would cause
+<cite>max_size</cite> to be exceeded, a new page is created. This is done in order to make a best
+effort to avoid breaking up single lines across pages, while keeping the total length of the
+page at a reasonable size.</p>
+<p>This function overrides the <cite>Paginator.add_line</cite> from inside <cite>discord.ext.commands</cite>.</p>
+<p>It overrides in order to allow us to configure the maximum number of lines per page.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>line</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – The line to add to the paginated content.</p></li>
+<li><p><strong>empty</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><em>bool</em></a>) – Indicates whether an empty line should be added at the end.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.pagination.LinePaginator.paginate">
+<em class="property"><span class="pre">async</span><span class="w"> </span><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">paginate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pagination_emojis</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lines</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">embed</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">500</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">restrict_to_user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">300</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">footer_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exception_on_empty_embed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reply</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L189-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator.paginate" title="Link to this definition">#</a></dt>
+<dd><p>Use a paginator and set of reactions to provide pagination over a set of lines.</p>
+<p>The reactions are used to switch page, or to finish with pagination.</p>
+<p>When used, this will send a message using <cite>ctx.send()</cite> and apply a set of reactions to it. These reactions may
+be used to change page, or to remove pagination from the message.</p>
+<p>Pagination will also be removed automatically if no reaction is added for five minutes (300 seconds).</p>
+<p>The interaction will be limited to <cite>restrict_to_user</cite> (ctx.author by default) or
+to any user with a moderation role.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>pagination_emojis</strong> (<a class="reference internal" href="#pydis_core.utils.pagination.PaginationEmojis" title="pydis_core.utils.pagination.PaginationEmojis"><em>PaginationEmojis</em></a>) – The emojis used to navigate pages.</p></li>
+<li><p><strong>lines</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.12)"><em>list</em></a><em>[</em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a><em>]</em>) – A list of lines to be added to the paginated content.</p></li>
+<li><p><strong>ctx</strong> (<a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Context" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.ext.commands.Context</span></code></a>) – The context in which the pagination is needed.</p></li>
+<li><p><strong>embed</strong> (<a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Embed" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.Embed</span></code></a>) – The embed that holds the content, it serves as the page.</p></li>
+<li><p><strong>prefix</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – The prefix inserted to every page. e.g. three backticks.</p></li>
+<li><p><strong>suffix</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – The suffix appended at the end of every page. e.g. three backticks.</p></li>
+<li><p><strong>max_lines</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a>) – The maximum amount of lines allowed in a page.</p></li>
+<li><p><strong>max_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a>) – The maximum amount of codepoints allowed in a page.</p></li>
+<li><p><strong>scale_to_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a>) – The maximum amount of characters a single line can scale up to.</p></li>
+<li><p><strong>empty</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><em>bool</em></a>) – Indicates whether an empty line should be added to each provided line.</p></li>
+<li><p><strong>restrict_to_user</strong> (<a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.User" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.User</span></code></a>) – The user to whom interaction with the pages should be restricted.</p></li>
+<li><p><strong>timeout</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a>) – The timeout after which users cannot change pages anymore.</p></li>
+<li><p><strong>footer_text</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – Text to be added as a footer for each page.</p></li>
+<li><p><strong>url</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – The url to be set for the pagination embed.</p></li>
+<li><p><strong>exception_on_empty_embed</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><em>bool</em></a>) – Indicates whether to raise an exception when no lines are provided.</p></li>
+<li><p><strong>reply</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><em>bool</em></a>) – Indicates whether to send the page as a reply to the context’s message.</p></li>
+<li><p><strong>allowed_roles</strong> (<em>Sequence</em><em>[</em><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><em>int</em></a><em>]</em>) – A list of role ids that are allowed to change pages.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Message" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Message</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+<p>Example:
+&gt;&gt;&gt; embed = discord.Embed()
+&gt;&gt;&gt; embed.set_author(name=”Some Operation”, url=url, icon_url=icon)
+&gt;&gt;&gt; await LinePaginator.paginate(pagination_emojis, [line for line in lines], ctx, embed)</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.utils.pagination.PaginationEmojis">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PaginationEmojis</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/pagination.py#L16-L24"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.PaginationEmojis" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.pydantic.dev/latest/api/base_model/#pydantic.BaseModel" title="(in Pydantic v0.0.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseModel</span></code></a></p>
+<p>The emojis that will be used for pagination.</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.utils.pagination.PaginationEmojis.model_computed_fields">
+<span class="sig-name descname"><span class="pre">model_computed_fields</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">ClassVar[dict[str,</span> <span class="pre">ComputedFieldInfo]]</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{}</span></em><a class="headerlink" href="#pydis_core.utils.pagination.PaginationEmojis.model_computed_fields" title="Link to this definition">#</a></dt>
+<dd><p>A dictionary of computed field names and their corresponding <cite>ComputedFieldInfo</cite> objects.</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.utils.pagination.PaginationEmojis.model_config">
+<span class="sig-name descname"><span class="pre">model_config</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">ClassVar[ConfigDict]</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{}</span></em><a class="headerlink" href="#pydis_core.utils.pagination.PaginationEmojis.model_config" title="Link to this definition">#</a></dt>
+<dd><p>Configuration for the model, should be a dictionary conforming to [<cite>ConfigDict</cite>][pydantic.config.ConfigDict].</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.utils.pagination.PaginationEmojis.model_fields">
+<span class="sig-name descname"><span class="pre">model_fields</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">ClassVar[dict[str,</span> <span class="pre">FieldInfo]]</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'delete':</span> <span class="pre">FieldInfo(annotation=str,</span> <span class="pre">required=False,</span> <span class="pre">default='&lt;:trashcan:637136429717389331&gt;'),</span> <span class="pre">'first':</span> <span class="pre">FieldInfo(annotation=str,</span> <span class="pre">required=False,</span> <span class="pre">default='⏮'),</span> <span class="pre">'last':</span> <span class="pre">FieldInfo(annotation=str,</span> <span class="pre">required=False,</span> <span class="pre">default='⏭'),</span> <span class="pre">'left':</span> <span class="pre">FieldInfo(annotation=str,</span> <span class="pre">required=False,</span> <span class="pre">default='⬅'),</span> <span class="pre">'right':</span> <span class="pre">FieldInfo(annotation=str,</span> <span class="pre">required=False,</span> <span class="pre">default='➡')}</span></em><a class="headerlink" href="#pydis_core.utils.pagination.PaginationEmojis.model_fields" title="Link to this definition">#</a></dt>
+<dd><p>Metadata about the fields defined on the model,
+mapping of field names to [<cite>FieldInfo</cite>][pydantic.fields.FieldInfo].</p>
+<p>This replaces <cite>Model.__fields__</cite> from Pydantic V1.</p>
+</dd></dl>
+
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.paste_service.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">paste_service</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.messages.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">messages</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">pagination</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.pagination.EmptyPaginatorEmbedError"><code class="docutils literal notranslate"><span class="pre">EmptyPaginatorEmbedError</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.pagination.LinePaginator"><code class="docutils literal notranslate"><span class="pre">LinePaginator</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.pagination.LinePaginator.__init__"><code class="docutils literal notranslate"><span class="pre">LinePaginator.__init__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.pagination.LinePaginator.add_line"><code class="docutils literal notranslate"><span class="pre">LinePaginator.add_line()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.pagination.LinePaginator.paginate"><code class="docutils literal notranslate"><span class="pre">LinePaginator.paginate()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.utils.pagination.PaginationEmojis"><code class="docutils literal notranslate"><span class="pre">PaginationEmojis</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.pagination.PaginationEmojis.model_computed_fields"><code class="docutils literal notranslate"><span class="pre">PaginationEmojis.model_computed_fields</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.pagination.PaginationEmojis.model_config"><code class="docutils literal notranslate"><span class="pre">PaginationEmojis.model_config</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.pagination.PaginationEmojis.model_fields"><code class="docutils literal notranslate"><span class="pre">PaginationEmojis.model_fields</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.paste_service.html b/v11.0.1/output/pydis_core.utils.paste_service.html
new file mode 100644
index 00000000..2d0a48fb
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.paste_service.html
@@ -0,0 +1,609 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="regex" href="pydis_core.utils.regex.html" /><link rel="prev" title="pagination" href="pydis_core.utils.pagination.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>paste_service - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.paste_service.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/output/pydis_core.utils.paste_service.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/output/pydis_core.utils.paste_service.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/output/pydis_core.utils.paste_service.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/output/pydis_core.utils.paste_service.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/output/pydis_core.utils.paste_service.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/index.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/index.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/index.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/index.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/index.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/index.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/index.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/output/pydis_core.utils.paste_service.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/output/pydis_core.utils.paste_service.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/index.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.paste_service.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.paste_service.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/output/pydis_core.utils.paste_service.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/output/pydis_core.utils.paste_service.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/output/pydis_core.utils.paste_service.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/output/pydis_core.utils.paste_service.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/output/pydis_core.utils.paste_service.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/output/pydis_core.utils.paste_service.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/output/pydis_core.utils.paste_service.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.paste_service">
+<span id="paste-service"></span><h1>paste_service<a class="headerlink" href="#module-pydis_core.utils.paste_service" title="Link to this heading">#</a></h1>
+<dl class="py data">
+<dt class="sig sig-object py" id="pydis_core.utils.paste_service.MAX_PASTE_SIZE">
+<span class="sig-name descname"><span class="pre">MAX_PASTE_SIZE</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">524288</span></em><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/paste_service.py#L13"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.MAX_PASTE_SIZE" title="Link to this definition">#</a></dt>
+<dd><p>The maximum allows size of a paste, in bytes.</p>
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteFile">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteFile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/paste_service.py#L33-L46"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteFile" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.pydantic.dev/latest/api/base_model/#pydantic.BaseModel" title="(in Pydantic v0.0.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseModel</span></code></a></p>
+<p>A file to be pasted to the paste service.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>content</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">str</span></code></a>) – The content of the file.</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">str</span></code></a>) – The name of the file to upload. Defaults to <code class="docutils literal notranslate"><span class="pre">&quot;&quot;</span></code></p></li>
+<li><p><strong>lexer</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">str</span></code></a>) – The lexer to use when applying text formatting. Defaults to <code class="docutils literal notranslate"><span class="pre">&quot;python&quot;</span></code></p></li>
+</ul>
+</dd>
+</dl>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteFile.model_computed_fields">
+<span class="sig-name descname"><span class="pre">model_computed_fields</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">ClassVar[dict[str,</span> <span class="pre">ComputedFieldInfo]]</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{}</span></em><a class="headerlink" href="#pydis_core.utils.paste_service.PasteFile.model_computed_fields" title="Link to this definition">#</a></dt>
+<dd><p>A dictionary of computed field names and their corresponding <cite>ComputedFieldInfo</cite> objects.</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteFile.model_config">
+<span class="sig-name descname"><span class="pre">model_config</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">ClassVar[ConfigDict]</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{}</span></em><a class="headerlink" href="#pydis_core.utils.paste_service.PasteFile.model_config" title="Link to this definition">#</a></dt>
+<dd><p>Configuration for the model, should be a dictionary conforming to [<cite>ConfigDict</cite>][pydantic.config.ConfigDict].</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteFile.model_fields">
+<span class="sig-name descname"><span class="pre">model_fields</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">ClassVar[dict[str,</span> <span class="pre">FieldInfo]]</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'content':</span> <span class="pre">FieldInfo(annotation=str,</span> <span class="pre">required=True),</span> <span class="pre">'lexer':</span> <span class="pre">FieldInfo(annotation=str,</span> <span class="pre">required=False,</span> <span class="pre">default='python'),</span> <span class="pre">'name':</span> <span class="pre">FieldInfo(annotation=str,</span> <span class="pre">required=False,</span> <span class="pre">default='')}</span></em><a class="headerlink" href="#pydis_core.utils.paste_service.PasteFile.model_fields" title="Link to this definition">#</a></dt>
+<dd><p>Metadata about the fields defined on the model,
+mapping of field names to [<cite>FieldInfo</cite>][pydantic.fields.FieldInfo].</p>
+<p>This replaces <cite>Model.__fields__</cite> from Pydantic V1.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteResponse">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteResponse</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/paste_service.py#L20-L31"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteResponse" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.pydantic.dev/latest/api/base_model/#pydantic.BaseModel" title="(in Pydantic v0.0.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseModel</span></code></a></p>
+<p>A successful response from the paste service.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>link</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">str</span></code></a>) – The URL to the saved paste.</p></li>
+<li><p><strong>removal</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">str</span></code></a>) – The URL to delete the saved paste.</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteResponse.model_computed_fields">
+<span class="sig-name descname"><span class="pre">model_computed_fields</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">ClassVar[dict[str,</span> <span class="pre">ComputedFieldInfo]]</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{}</span></em><a class="headerlink" href="#pydis_core.utils.paste_service.PasteResponse.model_computed_fields" title="Link to this definition">#</a></dt>
+<dd><p>A dictionary of computed field names and their corresponding <cite>ComputedFieldInfo</cite> objects.</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteResponse.model_config">
+<span class="sig-name descname"><span class="pre">model_config</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">ClassVar[ConfigDict]</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{}</span></em><a class="headerlink" href="#pydis_core.utils.paste_service.PasteResponse.model_config" title="Link to this definition">#</a></dt>
+<dd><p>Configuration for the model, should be a dictionary conforming to [<cite>ConfigDict</cite>][pydantic.config.ConfigDict].</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteResponse.model_fields">
+<span class="sig-name descname"><span class="pre">model_fields</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">ClassVar[dict[str,</span> <span class="pre">FieldInfo]]</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'link':</span> <span class="pre">FieldInfo(annotation=str,</span> <span class="pre">required=True),</span> <span class="pre">'removal':</span> <span class="pre">FieldInfo(annotation=str,</span> <span class="pre">required=True)}</span></em><a class="headerlink" href="#pydis_core.utils.paste_service.PasteResponse.model_fields" title="Link to this definition">#</a></dt>
+<dd><p>Metadata about the fields defined on the model,
+mapping of field names to [<cite>FieldInfo</cite>][pydantic.fields.FieldInfo].</p>
+<p>This replaces <cite>Model.__fields__</cite> from Pydantic V1.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteTooLongError">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteTooLongError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/paste_service.py#L56-L58"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteTooLongError" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
+<p>Raised when content is too large to upload to the paste service.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteUnsupportedLexerError">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteUnsupportedLexerError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/paste_service.py#L52-L54"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteUnsupportedLexerError" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
+<p>Raised when an unsupported lexer is used.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteUploadError">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteUploadError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/paste_service.py#L48-L50"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteUploadError" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
+<p>Raised when an error is encountered uploading to the paste service.</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.paste_service.send_to_paste_service">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">send_to_paste_service</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">files</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">http_session</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">paste_url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'https://paste.pythondiscord.com'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">524288</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/paste_service.py#L70-L155"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.send_to_paste_service" title="Link to this definition">#</a></dt>
+<dd><p>Upload some contents to the paste service.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>files</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>[<a class="reference internal" href="#pydis_core.utils.paste_service.PasteFile" title="pydis_core.utils.paste_service.PasteFile"><code class="xref py py-class docutils literal notranslate"><span class="pre">PasteFile</span></code></a>]</span>) – The files to be uploaded to the paste service.</p></li>
+<li><p><strong>http_session</strong> (<a class="reference external" href="https://docs.aiohttp.org/en/stable/client_reference.html#aiohttp.ClientSession" title="(in aiohttp v3.9)"><em>aiohttp.ClientSession</em></a>) – The session to use when POSTing the content to the paste service.</p></li>
+<li><p><strong>paste_url</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></span>) – The base url to the paste service.</p></li>
+<li><p><strong>max_size</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></span>) – The max number of bytes to be allowed. Anything larger than <a class="reference internal" href="#pydis_core.utils.paste_service.MAX_PASTE_SIZE" title="pydis_core.utils.paste_service.MAX_PASTE_SIZE"><code class="xref py py-obj docutils literal notranslate"><span class="pre">MAX_PASTE_SIZE</span></code></a> will be rejected.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><ul class="simple">
+<li><p><a class="reference external" href="https://docs.python.org/3/library/exceptions.html#ValueError" title="(in Python v3.12)"><strong>ValueError</strong></a> – <code class="docutils literal notranslate"><span class="pre">max_length</span></code> greater than the maximum allowed by the paste service.</p></li>
+<li><p><a class="reference internal" href="#pydis_core.utils.paste_service.PasteTooLongError" title="pydis_core.utils.paste_service.PasteTooLongError"><strong>PasteTooLongError</strong></a> – <code class="docutils literal notranslate"><span class="pre">contents</span></code> too long to upload.</p></li>
+<li><p><a class="reference internal" href="#pydis_core.utils.paste_service.PasteUploadError" title="pydis_core.utils.paste_service.PasteUploadError"><strong>PasteUploadError</strong></a> – Uploading failed.</p></li>
+</ul>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference internal" href="#pydis_core.utils.paste_service.PasteResponse" title="pydis_core.utils.paste_service.PasteResponse"><code class="xref py py-class docutils literal notranslate"><span class="pre">PasteResponse</span></code></a></span></p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A pydantic model containing both the URL of the paste, and a URL to remove the paste.</p>
+</dd>
+</dl>
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.regex.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">regex</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.pagination.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">pagination</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">paste_service</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.paste_service.MAX_PASTE_SIZE"><code class="docutils literal notranslate"><span class="pre">MAX_PASTE_SIZE</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.paste_service.PasteFile"><code class="docutils literal notranslate"><span class="pre">PasteFile</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.paste_service.PasteFile.model_computed_fields"><code class="docutils literal notranslate"><span class="pre">PasteFile.model_computed_fields</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.paste_service.PasteFile.model_config"><code class="docutils literal notranslate"><span class="pre">PasteFile.model_config</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.paste_service.PasteFile.model_fields"><code class="docutils literal notranslate"><span class="pre">PasteFile.model_fields</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.utils.paste_service.PasteResponse"><code class="docutils literal notranslate"><span class="pre">PasteResponse</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.paste_service.PasteResponse.model_computed_fields"><code class="docutils literal notranslate"><span class="pre">PasteResponse.model_computed_fields</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.paste_service.PasteResponse.model_config"><code class="docutils literal notranslate"><span class="pre">PasteResponse.model_config</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.paste_service.PasteResponse.model_fields"><code class="docutils literal notranslate"><span class="pre">PasteResponse.model_fields</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.utils.paste_service.PasteTooLongError"><code class="docutils literal notranslate"><span class="pre">PasteTooLongError</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.paste_service.PasteUnsupportedLexerError"><code class="docutils literal notranslate"><span class="pre">PasteUnsupportedLexerError</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.paste_service.PasteUploadError"><code class="docutils literal notranslate"><span class="pre">PasteUploadError</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.paste_service.send_to_paste_service"><code class="docutils literal notranslate"><span class="pre">send_to_paste_service()</span></code></a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.regex.html b/v11.0.1/output/pydis_core.utils.regex.html
new file mode 100644
index 00000000..02fcdfb9
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.regex.html
@@ -0,0 +1,499 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="scheduling" href="pydis_core.utils.scheduling.html" /><link rel="prev" title="paste_service" href="pydis_core.utils.paste_service.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>regex - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.regex.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/output/pydis_core.utils.regex.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/output/pydis_core.utils.regex.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/output/pydis_core.utils.regex.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/output/pydis_core.utils.regex.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/output/pydis_core.utils.regex.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/output/pydis_core.utils.regex.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/output/pydis_core.utils.regex.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/output/pydis_core.utils.regex.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/output/pydis_core.utils.regex.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/output/pydis_core.utils.regex.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/output/pydis_core.utils.regex.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/output/pydis_core.utils.regex.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/output/pydis_core.utils.regex.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/output/pydis_core.utils.regex.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/output/pydis_core.utils.regex.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.regex.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.regex.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.regex.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/output/pydis_core.utils.regex.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/output/pydis_core.utils.regex.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/output/pydis_core.utils.regex.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/output/pydis_core.utils.regex.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/output/pydis_core.utils.regex.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/output/pydis_core.utils.regex.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/output/pydis_core.utils.regex.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.regex">
+<span id="regex"></span><h1>regex<a class="headerlink" href="#module-pydis_core.utils.regex" title="Link to this heading">#</a></h1>
+<p>Common regular expressions.</p>
+<dl class="py data">
+<dt class="sig sig-object py" id="pydis_core.utils.regex.DISCORD_INVITE">
+<span class="sig-name descname"><span class="pre">DISCORD_INVITE</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/regex.py#L5-L17"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.regex.DISCORD_INVITE" title="Link to this definition">#</a></dt>
+<dd><p>Regex for Discord server invites.</p>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>This regex pattern will capture until a whitespace, if you are to use the ‘invite’ capture group in
+any HTTP requests or similar. Please ensure you sanitise the output using something
+such as <a class="reference external" href="https://docs.python.org/3/library/urllib.parse.html#urllib.parse.quote" title="(in Python v3.12)"><code class="xref py py-func docutils literal notranslate"><span class="pre">urllib.parse.quote()</span></code></a>.</p>
+</div>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="pydis_core.utils.regex.FORMATTED_CODE_REGEX">
+<span class="sig-name descname"><span class="pre">FORMATTED_CODE_REGEX</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/regex.py#L29-L37"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.regex.FORMATTED_CODE_REGEX" title="Link to this definition">#</a></dt>
+<dd><p>Regex for formatted code, using Discord’s code blocks.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="pydis_core.utils.regex.RAW_CODE_REGEX">
+<span class="sig-name descname"><span class="pre">RAW_CODE_REGEX</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/regex.py#L44-L49"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.regex.RAW_CODE_REGEX" title="Link to this definition">#</a></dt>
+<dd><p>Regex for raw code, <em>not</em> using Discord’s code blocks.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.scheduling.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">scheduling</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.paste_service.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">paste_service</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">regex</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.regex.DISCORD_INVITE"><code class="docutils literal notranslate"><span class="pre">DISCORD_INVITE</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.regex.FORMATTED_CODE_REGEX"><code class="docutils literal notranslate"><span class="pre">FORMATTED_CODE_REGEX</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.regex.RAW_CODE_REGEX"><code class="docutils literal notranslate"><span class="pre">RAW_CODE_REGEX</span></code></a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/output/pydis_core.utils.scheduling.html b/v11.0.1/output/pydis_core.utils.scheduling.html
new file mode 100644
index 00000000..3b4983f9
--- /dev/null
+++ b/v11.0.1/output/pydis_core.utils.scheduling.html
@@ -0,0 +1,632 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="async_stats" href="pydis_core.async_stats.html" /><link rel="prev" title="regex" href="pydis_core.utils.regex.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>scheduling - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../main/output/pydis_core.utils.scheduling.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/output/pydis_core.utils.scheduling.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/output/pydis_core.utils.scheduling.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/output/pydis_core.utils.scheduling.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/output/pydis_core.utils.scheduling.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/output/pydis_core.utils.scheduling.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/output/pydis_core.utils.scheduling.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/output/pydis_core.utils.scheduling.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/output/pydis_core.utils.scheduling.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/output/pydis_core.utils.scheduling.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/output/pydis_core.utils.scheduling.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/output/pydis_core.utils.scheduling.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/output/pydis_core.utils.scheduling.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/output/pydis_core.utils.scheduling.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/output/pydis_core.utils.scheduling.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/output/pydis_core.utils.scheduling.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/output/pydis_core.utils.scheduling.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.scheduling.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.scheduling.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/output/pydis_core.utils.scheduling.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/output/pydis_core.utils.scheduling.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/output/pydis_core.utils.scheduling.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/output/pydis_core.utils.scheduling.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/output/pydis_core.utils.scheduling.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/output/pydis_core.utils.scheduling.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/output/pydis_core.utils.scheduling.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.scheduling">
+<span id="scheduling"></span><h1>scheduling<a class="headerlink" href="#module-pydis_core.utils.scheduling" title="Link to this heading">#</a></h1>
+<p>Generic python scheduler.</p>
+<dl class="py class">
+<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Scheduler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L19-L216"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler" title="Link to this definition">#</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
+<p>Schedule the execution of coroutines and keep track of them.</p>
+<p>When instantiating a <a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler" title="pydis_core.utils.scheduling.Scheduler"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Scheduler</span></code></a>, a name must be provided. This name is used to distinguish the
+instance’s log messages from other instances. Using the name of the class or module containing
+the instance is suggested.</p>
+<p>Coroutines can be scheduled immediately with <a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler.schedule" title="pydis_core.utils.scheduling.Scheduler.schedule"><code class="xref py py-obj docutils literal notranslate"><span class="pre">schedule</span></code></a> or in the future with <a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler.schedule_at" title="pydis_core.utils.scheduling.Scheduler.schedule_at"><code class="xref py py-obj docutils literal notranslate"><span class="pre">schedule_at</span></code></a>
+or <a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler.schedule_later" title="pydis_core.utils.scheduling.Scheduler.schedule_later"><code class="xref py py-obj docutils literal notranslate"><span class="pre">schedule_later</span></code></a>. A unique ID is required to be given in order to keep track of the
+resulting Tasks. Any scheduled task can be cancelled prematurely using <a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler.cancel" title="pydis_core.utils.scheduling.Scheduler.cancel"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cancel</span></code></a> by providing
+the same ID used to schedule it.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">in</span></code> operator is supported for checking if a task with a given ID is currently scheduled.</p>
+<p>Any exception raised in a scheduled task is logged when the task is done.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.__contains__">
+<span class="sig-name descname"><span class="pre">__contains__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L49-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.__contains__" title="Link to this definition">#</a></dt>
+<dd><p>Return <a class="reference external" href="https://docs.python.org/3/library/constants.html#True" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">True</span></code></a> if a task with the given <code class="docutils literal notranslate"><span class="pre">task_id</span></code> is currently scheduled.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>task_id</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Hashable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Hashable</span></code></a></span>) – The task to look for.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></span></p>
+</dd>
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/constants.html#True" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">True</span></code></a> if the task was found.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L37-L48"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.__init__" title="Link to this definition">#</a></dt>
+<dd><p>Initialize a new <a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler" title="pydis_core.utils.scheduling.Scheduler"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Scheduler</span></code></a> instance.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>name</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></span>) – The name of the <a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler" title="pydis_core.utils.scheduling.Scheduler"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Scheduler</span></code></a>. Used in logging, and namespacing.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.cancel">
+<span class="sig-name descname"><span class="pre">cancel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L132-L149"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.cancel" title="Link to this definition">#</a></dt>
+<dd><p>Unschedule the task identified by <code class="docutils literal notranslate"><span class="pre">task_id</span></code>. Log a warning if the task doesn’t exist.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>task_id</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Hashable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Hashable</span></code></a></span>) – The task’s unique ID.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.cancel_all">
+<span class="sig-name descname"><span class="pre">cancel_all</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L150-L156"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.cancel_all" title="Link to this definition">#</a></dt>
+<dd><p>Unschedule all known tasks.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.schedule">
+<span class="sig-name descname"><span class="pre">schedule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coroutine</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L61-L88"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.schedule" title="Link to this definition">#</a></dt>
+<dd><p>Schedule the execution of a <code class="docutils literal notranslate"><span class="pre">coroutine</span></code>.</p>
+<p>If a task with <code class="docutils literal notranslate"><span class="pre">task_id</span></code> already exists, close <code class="docutils literal notranslate"><span class="pre">coroutine</span></code> instead of scheduling it. This
+prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-used elsewhere.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>task_id</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Hashable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Hashable</span></code></a></span>) – A unique ID to create the task with.</p></li>
+<li><p><strong>coroutine</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Coroutine" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Coroutine</span></code></a></span>) – The function to be called.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.schedule_at">
+<span class="sig-name descname"><span class="pre">schedule_at</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">time</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coroutine</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L89-L112"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.schedule_at" title="Link to this definition">#</a></dt>
+<dd><p>Schedule <code class="docutils literal notranslate"><span class="pre">coroutine</span></code> to be executed at the given <code class="docutils literal notranslate"><span class="pre">time</span></code>.</p>
+<p>If <code class="docutils literal notranslate"><span class="pre">time</span></code> is timezone aware, then use that timezone to calculate now() when subtracting.
+If <code class="docutils literal notranslate"><span class="pre">time</span></code> is naïve, then use UTC.</p>
+<p>If <code class="docutils literal notranslate"><span class="pre">time</span></code> is in the past, schedule <code class="docutils literal notranslate"><span class="pre">coroutine</span></code> immediately.</p>
+<p>If a task with <code class="docutils literal notranslate"><span class="pre">task_id</span></code> already exists, close <code class="docutils literal notranslate"><span class="pre">coroutine</span></code> instead of scheduling it. This
+prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-used elsewhere.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>time</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime.datetime" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">datetime</span></code></a></span>) – The time to start the task.</p></li>
+<li><p><strong>task_id</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Hashable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Hashable</span></code></a></span>) – A unique ID to create the task with.</p></li>
+<li><p><strong>coroutine</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Coroutine" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Coroutine</span></code></a></span>) – The function to be called.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.schedule_later">
+<span class="sig-name descname"><span class="pre">schedule_later</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">delay</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coroutine</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L113-L131"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.schedule_later" title="Link to this definition">#</a></dt>
+<dd><p>Schedule <code class="docutils literal notranslate"><span class="pre">coroutine</span></code> to be executed after <code class="docutils literal notranslate"><span class="pre">delay</span></code> seconds.</p>
+<p>If a task with <code class="docutils literal notranslate"><span class="pre">task_id</span></code> already exists, close <code class="docutils literal notranslate"><span class="pre">coroutine</span></code> instead of scheduling it. This
+prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-used elsewhere.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>delay</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#float" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></span>) – How long to wait before starting the task.</p></li>
+<li><p><strong>task_id</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Hashable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Hashable</span></code></a></span>) – A unique ID to create the task with.</p></li>
+<li><p><strong>coroutine</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Coroutine" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Coroutine</span></code></a></span>) – The function to be called.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="pydis_core.utils.scheduling.create_task">
+<span class="sig-name descname"><span class="pre">create_task</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">coro</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suppressed_exceptions</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">event_loop</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/57ddc0ffa9fd353221b746c5b0999109ba13e70a/pydis_core/utils/scheduling.py#L221-L252"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.create_task" title="Link to this definition">#</a></dt>
+<dd><p>Wrapper for creating an <a class="reference external" href="https://docs.python.org/3/library/asyncio-task.html#asyncio.Task" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">asyncio.Task</span></code></a> which logs exceptions raised in the task.</p>
+<p>If the <code class="docutils literal notranslate"><span class="pre">event_loop</span></code> kwarg is provided, the task is created from that event loop,
+otherwise the running loop is used.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>coro</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Coroutine" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Coroutine</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>, <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>, <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.TypeVar" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">TypeVar</span></code></a>(<code class="docutils literal notranslate"><span class="pre">TASK_RETURN</span></code>)]</span>) – The function to call.</p></li>
+<li><p><strong>suppressed_exceptions</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/functions.html#type" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">type</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a>], <a class="reference external" href="https://docs.python.org/3/library/constants.html#Ellipsis" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">...</span></code></a>]</span>) – Exceptions to be handled by the task.</p></li>
+<li><p><strong>event_loop</strong> (<a class="reference external" href="https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.AbstractEventLoop" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">asyncio.AbstractEventLoop</span></code></a>) – The loop to create the task from.</p></li>
+<li><p><strong>kwargs</strong> – Passed to <a class="reference external" href="https://docs.python.org/3/library/asyncio-task.html#asyncio.create_task" title="(in Python v3.12)"><code class="xref py py-func docutils literal notranslate"><span class="pre">asyncio.create_task()</span></code></a>.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The wrapped task.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/asyncio-task.html#asyncio.Task" title="(in Python v3.12)">asyncio.Task</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.async_stats.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">async_stats</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.regex.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">regex</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">scheduling</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler"><code class="docutils literal notranslate"><span class="pre">Scheduler</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler.__contains__"><code class="docutils literal notranslate"><span class="pre">Scheduler.__contains__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler.__init__"><code class="docutils literal notranslate"><span class="pre">Scheduler.__init__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler.cancel"><code class="docutils literal notranslate"><span class="pre">Scheduler.cancel()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler.cancel_all"><code class="docutils literal notranslate"><span class="pre">Scheduler.cancel_all()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler.schedule"><code class="docutils literal notranslate"><span class="pre">Scheduler.schedule()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler.schedule_at"><code class="docutils literal notranslate"><span class="pre">Scheduler.schedule_at()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler.schedule_later"><code class="docutils literal notranslate"><span class="pre">Scheduler.schedule_later()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.utils.scheduling.create_task"><code class="docutils literal notranslate"><span class="pre">create_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/py-modindex.html b/v11.0.1/py-modindex.html
new file mode 100644
index 00000000..3579eaa3
--- /dev/null
+++ b/v11.0.1/py-modindex.html
@@ -0,0 +1,581 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="./">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 --><title>Python Module Index - Pydis Core v11.0.1</title>
+<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul>
+<li class="toctree-l1 has-children"><a class="reference internal" href="output/pydis_core.html">Pydis Core</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 has-children"><a class="reference internal" href="output/pydis_core.utils.html">Utils</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l3 has-children"><a class="reference internal" href="output/pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../main/index.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.2/index.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.1/index.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.0/index.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.8.0/index.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.7.0/index.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.6.0/index.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.5.1/index.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.5.0/index.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.4.1/index.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.4.0/index.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.3.0/index.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.2.0/index.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.10.0-alpha.2/index.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.10.0-alpha.1/index.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.1.1/index.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.0.0/index.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="py-modindex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.7.0/index.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.6.0/index.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.5.1/index.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.5.0/index.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.4.0/index.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.3.0/index.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.2.0/index.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.1.0/index.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.0.0/index.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+ <div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+
+<section class="domainindex-section">
+ <h1>Python Module Index</h1>
+ <div class="domainindex-jumpbox"><a href="#cap-p"><strong>p</strong></a></div>
+</section>
+<table class="domainindex-table">
+ <tr class="pcap">
+ <td></td><td>&#160;</td><td></td>
+ </tr>
+ <tr class="cap" id="cap-p">
+ <td></td><td><strong>p</strong></td><td></td>
+ </tr>
+ <tr>
+ <td><img src="_static/minus.png" class="toggler"
+ id="toggle-1" style="display: none" alt="-" /></td>
+ <td>
+ <a href="output/pydis_core.html#module-pydis_core"><code class="xref">pydis_core</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.async_stats.html#module-pydis_core.async_stats"><code class="xref">pydis_core.async_stats</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.exts.html#module-pydis_core.exts"><code class="xref">pydis_core.exts</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.site_api.html#module-pydis_core.site_api"><code class="xref">pydis_core.site_api</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.html#module-pydis_core.utils"><code class="xref">pydis_core.utils</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.caching.html#module-pydis_core.utils.caching"><code class="xref">pydis_core.utils.caching</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.channel.html#module-pydis_core.utils.channel"><code class="xref">pydis_core.utils.channel</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.checks.html#module-pydis_core.utils.checks"><code class="xref">pydis_core.utils.checks</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.commands.html#module-pydis_core.utils.commands"><code class="xref">pydis_core.utils.commands</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.cooldown.html#module-pydis_core.utils.cooldown"><code class="xref">pydis_core.utils.cooldown</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.error_handling.html#module-pydis_core.utils.error_handling"><code class="xref">pydis_core.utils.error_handling</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.error_handling.commands.html#module-pydis_core.utils.error_handling.commands"><code class="xref">pydis_core.utils.error_handling.commands</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.error_handling.commands.abc.html#module-pydis_core.utils.error_handling.commands.abc"><code class="xref">pydis_core.utils.error_handling.commands.abc</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.error_handling.commands.manager.html#module-pydis_core.utils.error_handling.commands.manager"><code class="xref">pydis_core.utils.error_handling.commands.manager</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.function.html#module-pydis_core.utils.function"><code class="xref">pydis_core.utils.function</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.interactions.html#module-pydis_core.utils.interactions"><code class="xref">pydis_core.utils.interactions</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.lock.html#module-pydis_core.utils.lock"><code class="xref">pydis_core.utils.lock</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.logging.html#module-pydis_core.utils.logging"><code class="xref">pydis_core.utils.logging</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.members.html#module-pydis_core.utils.members"><code class="xref">pydis_core.utils.members</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.messages.html#module-pydis_core.utils.messages"><code class="xref">pydis_core.utils.messages</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.pagination.html#module-pydis_core.utils.pagination"><code class="xref">pydis_core.utils.pagination</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.paste_service.html#module-pydis_core.utils.paste_service"><code class="xref">pydis_core.utils.paste_service</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.regex.html#module-pydis_core.utils.regex"><code class="xref">pydis_core.utils.regex</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.scheduling.html#module-pydis_core.utils.scheduling"><code class="xref">pydis_core.utils.scheduling</code></a></td><td>
+ <em></em></td>
+ </tr>
+</table>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+
+
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer no-toc">
+
+
+
+ </aside>
+ </div>
+</div><script src="_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="_static/doctools.js?v=888ff710"></script>
+ <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/search.html b/v11.0.1/search.html
new file mode 100644
index 00000000..2301d290
--- /dev/null
+++ b/v11.0.1/search.html
@@ -0,0 +1,436 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="./">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="#" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 --><title>Search - Pydis Core v11.0.1</title><link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="#" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul>
+<li class="toctree-l1 has-children"><a class="reference internal" href="output/pydis_core.html">Pydis Core</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 has-children"><a class="reference internal" href="output/pydis_core.utils.html">Utils</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l3 has-children"><a class="reference internal" href="output/pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../main/index.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.2/index.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.1/index.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.0/index.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.8.0/index.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.7.0/index.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.6.0/index.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.5.1/index.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.5.0/index.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.4.1/index.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.4.0/index.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.3.0/index.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.2.0/index.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.10.0-alpha.2/index.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.10.0-alpha.1/index.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.1.1/index.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.0.0/index.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="search.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.7.0/index.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.6.0/index.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.5.1/index.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.5.0/index.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.4.0/index.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.3.0/index.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.2.0/index.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.1.0/index.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.0.0/index.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+ <div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+
+<noscript>
+<div class="admonition error">
+ <p class="admonition-title">Error</p>
+ <p>
+ Please activate JavaScript to enable the search functionality.
+ </p>
+</div>
+</noscript>
+
+<div id="search-results"></div>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+
+
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer no-toc">
+
+
+
+ </aside>
+ </div>
+</div><script src="_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="_static/doctools.js?v=888ff710"></script>
+ <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="_static/changelog.js?v=11ff7913"></script>
+
+<script src="_static/searchtools.js"></script>
+<script src="_static/language_data.js"></script>
+<script src="searchindex.js"></script></body>
+</html> \ No newline at end of file
diff --git a/v11.0.1/searchindex.js b/v11.0.1/searchindex.js
new file mode 100644
index 00000000..6b328bb8
--- /dev/null
+++ b/v11.0.1/searchindex.js
@@ -0,0 +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 &amp; 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, "0": [0, 8, 10, 18, 19, 20], "1": [0, 20], "20th": 0, "march": 0, "2024": 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, "drop": 0, "support": [0, 4, 7, 26], "pydant": [0, 3, 23, 24], "x": 0, "python": [0, 1, 3, 24, 26], "3": 0, "10": 0, "split": 0, "fakeredi": 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], "now": [0, 1, 26], "instal": [0, 1], "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, "12": 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, "lupa": 0, "requir": [0, 1, 3, 23, 24, 26], "script": 0, "within": [0, 3], "As": 0, "7": 0, "30th": 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], "restrict": [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, "could": 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": {"function": [[17, "module-pydis_core.utils.function"]], "cooldown": [[12, "module-pydis_core.utils.cooldown"]], "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"]], "manager": [[16, "module-pydis_core.utils.error_handling.commands.manager"]], "channel": [[9, "module-pydis_core.utils.channel"]], "Utils": [[7, "module-pydis_core.utils"]], "caching": [[8, "module-pydis_core.utils.caching"]], "checks": [[10, "module-pydis_core.utils.checks"]], "commands": [[11, "module-pydis_core.utils.commands"]], "site_api": [[6, "module-pydis_core.site_api"]], "Pydis Core": [[3, "module-pydis_core"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "Exts": [[5, "module-pydis_core.exts"]], "lock": [[19, "module-pydis_core.utils.lock"]], "pagination": [[23, "module-pydis_core.utils.pagination"]], "messages": [[22, "module-pydis_core.utils.messages"]], "interactions": [[18, "module-pydis_core.utils.interactions"]], "members": [[21, "module-pydis_core.utils.members"]], "logging": [[20, "module-pydis_core.utils.logging"]], "paste_service": [[24, "module-pydis_core.utils.paste_service"]], "scheduling": [[26, "module-pydis_core.utils.scheduling"]], "regex": [[25, "module-pydis_core.utils.regex"]]}, "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
diff --git a/v11.0.1/versions.html b/v11.0.1/versions.html
new file mode 100644
index 00000000..b001d39d
--- /dev/null
+++ b/v11.0.1/versions.html
@@ -0,0 +1,601 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="./">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>Versions - Pydis Core v11.0.1</title>
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
+ <link rel="stylesheet" type="text/css" href="_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="_static/changelog.css?v=117bb91a" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="index.html"><div class="brand">Pydis Core v11.0.1</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core v11.0.1</span>
+
+</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul>
+<li class="toctree-l1 has-children"><a class="reference internal" href="output/pydis_core.html">Pydis Core</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 has-children"><a class="reference internal" href="output/pydis_core.utils.html">Utils</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l3 has-children"><a class="reference internal" href="output/pydis_core.utils.error_handling.html">error_handling package</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of error_handling package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l4 has-children"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.html">commands package</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of commands package</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
+<li class="toctree-l5"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.abc.html">abc</a></li>
+<li class="toctree-l5"><a class="reference internal" href="output/pydis_core.utils.error_handling.commands.manager.html">manager</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.lock.html">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="output/pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children current-page">
+
+ <a class="reference internal" href="#">Versions</a>
+ <input checked class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../main/index.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.2/index.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.1/index.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.9.0/index.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.8.0/index.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.7.0/index.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.6.0/index.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.5.1/index.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.5.0/index.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.4.1/index.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.4.0/index.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.3.0/index.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.2.0/index.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.10.0-alpha.2/index.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.10.0-alpha.1/index.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.1.1/index.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v9.0.0/index.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="versions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.7.0/index.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.6.0/index.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.5.1/index.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.5.0/index.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.4.0/index.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.3.0/index.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.2.0/index.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.1.0/index.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.0.0/index.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+ <div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+
+ <h1>Versions</h1>
+ <dl>
+ <dt>Documentation is available for the following versions:</dt>
+ <dd><ul>
+
+
+ <li>
+ <a class="reference internal" href="../main/index.html">main</a>
+
+ - latest
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v9.9.2/index.html">v9.9.2</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v9.9.1/index.html">v9.9.1</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v9.9.0/index.html">v9.9.0</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v9.8.0/index.html">v9.8.0</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v9.7.0/index.html">v9.7.0</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v9.6.0/index.html">v9.6.0</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v9.5.1/index.html">v9.5.1</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v9.5.0/index.html">v9.5.0</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v9.4.1/index.html">v9.4.1</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v9.4.0/index.html">v9.4.0</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v9.3.0/index.html">v9.3.0</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v9.2.0/index.html">v9.2.0</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v9.10.0-alpha.2/index.html">v9.10.0-alpha.2</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v9.10.0-alpha.1/index.html">v9.10.0-alpha.1</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v9.1.1/index.html">v9.1.1</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v9.0.0/index.html">v9.0.0</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="versions.html">v11.0.1</a>
+ (current)
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v10.7.0/index.html">v10.7.0</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v10.6.0/index.html">v10.6.0</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v10.5.1/index.html">v10.5.1</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v10.5.0/index.html">v10.5.0</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v10.4.0/index.html">v10.4.0</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v10.3.0/index.html">v10.3.0</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v10.2.0/index.html">v10.2.0</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v10.1.0/index.html">v10.1.0</a>
+
+
+ </li>
+
+ <li>
+ <a class="reference internal" href="../v10.0.0/index.html">v10.0.0</a>
+
+
+ </li>
+
+ </ul></dd>
+ </dl>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+
+
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer no-toc">
+
+
+
+ </aside>
+ </div>
+</div><script src="_static/documentation_options.js?v=6a5133bb"></script>
+ <script src="_static/doctools.js?v=888ff710"></script>
+ <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/v9.0.0/.buildinfo b/v9.0.0/.buildinfo
index b38cbc4a..b07df850 100644
--- a/v9.0.0/.buildinfo
+++ b/v9.0.0/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 65058b701aef10243efc26a60fc1a3da
+config: 0b6db9fdd6b76be4654373406e10755d
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v9.0.0/changelog.html b/v9.0.0/changelog.html
index 0d66209f..66928793 100644
--- a/v9.0.0/changelog.html
+++ b/v9.0.0/changelog.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/development.html b/v9.0.0/development.html
index 64107b35..baac07ad 100644
--- a/v9.0.0/development.html
+++ b/v9.0.0/development.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/genindex.html b/v9.0.0/genindex.html
index 73a24796..b935bc4f 100644
--- a/v9.0.0/genindex.html
+++ b/v9.0.0/genindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/index.html b/v9.0.0/index.html
index 6c798e3f..58a7b50f 100644
--- a/v9.0.0/index.html
+++ b/v9.0.0/index.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/output/pydis_core.async_stats.html b/v9.0.0/output/pydis_core.async_stats.html
index f502830e..718592ae 100644
--- a/v9.0.0/output/pydis_core.async_stats.html
+++ b/v9.0.0/output/pydis_core.async_stats.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/output/pydis_core.exts.html b/v9.0.0/output/pydis_core.exts.html
index 6d3c7dc1..2ea61161 100644
--- a/v9.0.0/output/pydis_core.exts.html
+++ b/v9.0.0/output/pydis_core.exts.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/output/pydis_core.html b/v9.0.0/output/pydis_core.html
index b7cde1dc..b443645c 100644
--- a/v9.0.0/output/pydis_core.html
+++ b/v9.0.0/output/pydis_core.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/output/pydis_core.site_api.html b/v9.0.0/output/pydis_core.site_api.html
index 383bb9ab..05662345 100644
--- a/v9.0.0/output/pydis_core.site_api.html
+++ b/v9.0.0/output/pydis_core.site_api.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/output/pydis_core.utils.caching.html b/v9.0.0/output/pydis_core.utils.caching.html
index ec07a888..ca1dbf92 100644
--- a/v9.0.0/output/pydis_core.utils.caching.html
+++ b/v9.0.0/output/pydis_core.utils.caching.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/output/pydis_core.utils.channel.html b/v9.0.0/output/pydis_core.utils.channel.html
index 50a8e7a6..bd716381 100644
--- a/v9.0.0/output/pydis_core.utils.channel.html
+++ b/v9.0.0/output/pydis_core.utils.channel.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/output/pydis_core.utils.commands.html b/v9.0.0/output/pydis_core.utils.commands.html
index 7a620c0f..eec845eb 100644
--- a/v9.0.0/output/pydis_core.utils.commands.html
+++ b/v9.0.0/output/pydis_core.utils.commands.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/output/pydis_core.utils.cooldown.html b/v9.0.0/output/pydis_core.utils.cooldown.html
index 8463ddd5..39db8664 100644
--- a/v9.0.0/output/pydis_core.utils.cooldown.html
+++ b/v9.0.0/output/pydis_core.utils.cooldown.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/output/pydis_core.utils.function.html b/v9.0.0/output/pydis_core.utils.function.html
index f0724670..697cf59b 100644
--- a/v9.0.0/output/pydis_core.utils.function.html
+++ b/v9.0.0/output/pydis_core.utils.function.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/output/pydis_core.utils.html b/v9.0.0/output/pydis_core.utils.html
index 77f3d521..0effed78 100644
--- a/v9.0.0/output/pydis_core.utils.html
+++ b/v9.0.0/output/pydis_core.utils.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/output/pydis_core.utils.interactions.html b/v9.0.0/output/pydis_core.utils.interactions.html
index c64c627f..7f2e5f08 100644
--- a/v9.0.0/output/pydis_core.utils.interactions.html
+++ b/v9.0.0/output/pydis_core.utils.interactions.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/output/pydis_core.utils.logging.html b/v9.0.0/output/pydis_core.utils.logging.html
index 7699b023..d519d5c5 100644
--- a/v9.0.0/output/pydis_core.utils.logging.html
+++ b/v9.0.0/output/pydis_core.utils.logging.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/output/pydis_core.utils.members.html b/v9.0.0/output/pydis_core.utils.members.html
index 0e1259c3..3d7f25cb 100644
--- a/v9.0.0/output/pydis_core.utils.members.html
+++ b/v9.0.0/output/pydis_core.utils.members.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/output/pydis_core.utils.regex.html b/v9.0.0/output/pydis_core.utils.regex.html
index 4c18f4ae..ac9512e6 100644
--- a/v9.0.0/output/pydis_core.utils.regex.html
+++ b/v9.0.0/output/pydis_core.utils.regex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/output/pydis_core.utils.scheduling.html b/v9.0.0/output/pydis_core.utils.scheduling.html
index 77205f9a..cb534cf6 100644
--- a/v9.0.0/output/pydis_core.utils.scheduling.html
+++ b/v9.0.0/output/pydis_core.utils.scheduling.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/py-modindex.html b/v9.0.0/py-modindex.html
index 05613b15..de7b0f12 100644
--- a/v9.0.0/py-modindex.html
+++ b/v9.0.0/py-modindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/search.html b/v9.0.0/search.html
index ed62414e..79b97368 100644
--- a/v9.0.0/search.html
+++ b/v9.0.0/search.html
@@ -271,6 +271,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.0.0/searchindex.js b/v9.0.0/searchindex.js
index f00e1f66..61117b5f 100644
--- a/v9.0.0/searchindex.js
+++ b/v9.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "0": [0, 8, 13, 14], "5th": 0, "novemb": 0, "2022": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "pydis_cor": [0, 1, 3, 13], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "2": [0, 3, 13], "1": [0, 14], "18th": 0, "septemb": 0, "bug": 0, "138": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "august": 0, "support": [0, 4, 7, 17], "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "util": [0, 1, 2, 3, 8, 12, 13, 14], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "add": [0, 3, 11], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 17], "version": [0, 10], "3": 0, "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "featur": [0, 1, 3], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 13, 14, 17], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "timeout": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "delet": [0, 3, 6, 8, 13], "method": [0, 4, 6, 7, 14], "103": 0, "button": [0, 13], "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "handl": [0, 15, 17], "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "command": [0, 1, 3, 7, 9, 11, 12], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "get_or_fetch_memb": [3, 7, 15], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 16], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "being": [7, 15], "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "decor": [8, 11, 12], "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "duplic": 11, "invoc": 11, "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 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": {"async_stats": [[4, "module-pydis_core.async_stats"]], "site_api": [[6, "module-pydis_core.site_api"]], "Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "logging": [[14, "module-pydis_core.utils.logging"]], "members": [[15, "module-pydis_core.utils.members"]], "function": [[12, "module-pydis_core.utils.function"]], "commands": [[10, "module-pydis_core.utils.commands"]], "caching": [[8, "module-pydis_core.utils.caching"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "channel": [[9, "module-pydis_core.utils.channel"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "regex": [[16, "module-pydis_core.utils.regex"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "0": [0, 8, 13, 14], "5th": 0, "novemb": 0, "2022": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "pydis_cor": [0, 1, 3, 13], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "2": [0, 3, 13], "1": [0, 14], "18th": 0, "septemb": 0, "bug": 0, "138": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "august": 0, "support": [0, 4, 7, 17], "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "util": [0, 1, 2, 3, 8, 12, 13, 14], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "add": [0, 3, 11], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 17], "version": [0, 10], "3": 0, "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "featur": [0, 1, 3], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 13, 14, 17], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "timeout": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "delet": [0, 3, 6, 8, 13], "method": [0, 4, 6, 7, 14], "103": 0, "button": [0, 13], "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "handl": [0, 15, 17], "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "command": [0, 1, 3, 7, 9, 11, 12], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "get_or_fetch_memb": [3, 7, 15], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 16], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "being": [7, 15], "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "decor": [8, 11, 12], "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "duplic": 11, "invoc": 11, "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 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": {"Exts": [[5, "module-pydis_core.exts"]], "site_api": [[6, "module-pydis_core.site_api"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "logging": [[14, "module-pydis_core.utils.logging"]], "function": [[12, "module-pydis_core.utils.function"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "members": [[15, "module-pydis_core.utils.members"]], "channel": [[9, "module-pydis_core.utils.channel"]], "caching": [[8, "module-pydis_core.utils.caching"]], "commands": [[10, "module-pydis_core.utils.commands"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "regex": [[16, "module-pydis_core.utils.regex"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v9.0.0/versions.html b/v9.0.0/versions.html
index 83bf9e09..b5a04d2a 100644
--- a/v9.0.0/versions.html
+++ b/v9.0.0/versions.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -476,6 +480,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v9.1.1/.buildinfo b/v9.1.1/.buildinfo
index 04b95b36..0ed7dc4f 100644
--- a/v9.1.1/.buildinfo
+++ b/v9.1.1/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 0d5982e7812132ac179b160f970dfa21
+config: afc3a13baf24317305a6b9a68c9176d4
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v9.1.1/changelog.html b/v9.1.1/changelog.html
index 6c467672..d257c3cd 100644
--- a/v9.1.1/changelog.html
+++ b/v9.1.1/changelog.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/development.html b/v9.1.1/development.html
index 6ba1847f..2ab1aeb5 100644
--- a/v9.1.1/development.html
+++ b/v9.1.1/development.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/genindex.html b/v9.1.1/genindex.html
index 84e6de37..06dbdf9d 100644
--- a/v9.1.1/genindex.html
+++ b/v9.1.1/genindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/index.html b/v9.1.1/index.html
index 674bdc6a..ea7d724c 100644
--- a/v9.1.1/index.html
+++ b/v9.1.1/index.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/output/pydis_core.async_stats.html b/v9.1.1/output/pydis_core.async_stats.html
index 544bff5b..25d4472f 100644
--- a/v9.1.1/output/pydis_core.async_stats.html
+++ b/v9.1.1/output/pydis_core.async_stats.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/output/pydis_core.exts.html b/v9.1.1/output/pydis_core.exts.html
index a7beaa57..6d4efae3 100644
--- a/v9.1.1/output/pydis_core.exts.html
+++ b/v9.1.1/output/pydis_core.exts.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/output/pydis_core.html b/v9.1.1/output/pydis_core.html
index a59b7455..bd010696 100644
--- a/v9.1.1/output/pydis_core.html
+++ b/v9.1.1/output/pydis_core.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/output/pydis_core.site_api.html b/v9.1.1/output/pydis_core.site_api.html
index 62b649ad..816355f2 100644
--- a/v9.1.1/output/pydis_core.site_api.html
+++ b/v9.1.1/output/pydis_core.site_api.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/output/pydis_core.utils.caching.html b/v9.1.1/output/pydis_core.utils.caching.html
index 05f09f82..7e44193d 100644
--- a/v9.1.1/output/pydis_core.utils.caching.html
+++ b/v9.1.1/output/pydis_core.utils.caching.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/output/pydis_core.utils.channel.html b/v9.1.1/output/pydis_core.utils.channel.html
index 1cc7d70d..3fdfc327 100644
--- a/v9.1.1/output/pydis_core.utils.channel.html
+++ b/v9.1.1/output/pydis_core.utils.channel.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/output/pydis_core.utils.commands.html b/v9.1.1/output/pydis_core.utils.commands.html
index 24b1eceb..a74de6a2 100644
--- a/v9.1.1/output/pydis_core.utils.commands.html
+++ b/v9.1.1/output/pydis_core.utils.commands.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/output/pydis_core.utils.cooldown.html b/v9.1.1/output/pydis_core.utils.cooldown.html
index 2d5f292c..f618950c 100644
--- a/v9.1.1/output/pydis_core.utils.cooldown.html
+++ b/v9.1.1/output/pydis_core.utils.cooldown.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/output/pydis_core.utils.function.html b/v9.1.1/output/pydis_core.utils.function.html
index 6ed37be5..726a561c 100644
--- a/v9.1.1/output/pydis_core.utils.function.html
+++ b/v9.1.1/output/pydis_core.utils.function.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/output/pydis_core.utils.html b/v9.1.1/output/pydis_core.utils.html
index 10b62533..59c10c87 100644
--- a/v9.1.1/output/pydis_core.utils.html
+++ b/v9.1.1/output/pydis_core.utils.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/output/pydis_core.utils.interactions.html b/v9.1.1/output/pydis_core.utils.interactions.html
index 9c519bda..fbc803f0 100644
--- a/v9.1.1/output/pydis_core.utils.interactions.html
+++ b/v9.1.1/output/pydis_core.utils.interactions.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/output/pydis_core.utils.logging.html b/v9.1.1/output/pydis_core.utils.logging.html
index 98c34bc6..06ad76a1 100644
--- a/v9.1.1/output/pydis_core.utils.logging.html
+++ b/v9.1.1/output/pydis_core.utils.logging.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/output/pydis_core.utils.members.html b/v9.1.1/output/pydis_core.utils.members.html
index bc0002ac..c202d674 100644
--- a/v9.1.1/output/pydis_core.utils.members.html
+++ b/v9.1.1/output/pydis_core.utils.members.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/output/pydis_core.utils.regex.html b/v9.1.1/output/pydis_core.utils.regex.html
index 66b1d579..3a179aa4 100644
--- a/v9.1.1/output/pydis_core.utils.regex.html
+++ b/v9.1.1/output/pydis_core.utils.regex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/output/pydis_core.utils.scheduling.html b/v9.1.1/output/pydis_core.utils.scheduling.html
index a06bbcfe..7c593ef6 100644
--- a/v9.1.1/output/pydis_core.utils.scheduling.html
+++ b/v9.1.1/output/pydis_core.utils.scheduling.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/py-modindex.html b/v9.1.1/py-modindex.html
index 4de28e7e..6a202fb4 100644
--- a/v9.1.1/py-modindex.html
+++ b/v9.1.1/py-modindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/search.html b/v9.1.1/search.html
index b5656c1c..87fe46f5 100644
--- a/v9.1.1/search.html
+++ b/v9.1.1/search.html
@@ -271,6 +271,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.1.1/searchindex.js b/v9.1.1/searchindex.js
index 43a9897a..3b46a93f 100644
--- a/v9.1.1/searchindex.js
+++ b/v9.1.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "1": [0, 14], "14th": 0, "novemb": 0, "2022": 0, "bug": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "0": [0, 8, 13, 14], "13th": 0, "featur": [0, 1, 3], "158": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "pydis_cor": [0, 1, 3, 13], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "support": [0, 4, 7, 17], "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "util": [0, 1, 2, 3, 8, 12, 13, 14], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "add": [0, 3, 11], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 17], "version": [0, 10], "3": 0, "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "command": [0, 1, 3, 7, 9, 11, 12], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "get_or_fetch_memb": [3, 7, 15], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 16], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "decor": [8, 11, 12], "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "duplic": 11, "invoc": 11, "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 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": {"Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "Exts": [[5, "module-pydis_core.exts"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Changelog": [[0, "changelog"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "logging": [[14, "module-pydis_core.utils.logging"]], "function": [[12, "module-pydis_core.utils.function"]], "members": [[15, "module-pydis_core.utils.members"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "commands": [[10, "module-pydis_core.utils.commands"]], "channel": [[9, "module-pydis_core.utils.channel"]], "caching": [[8, "module-pydis_core.utils.caching"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "regex": [[16, "module-pydis_core.utils.regex"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "1": [0, 14], "14th": 0, "novemb": 0, "2022": 0, "bug": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "0": [0, 8, 13, 14], "13th": 0, "featur": [0, 1, 3], "158": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "pydis_cor": [0, 1, 3, 13], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "support": [0, 4, 7, 17], "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "util": [0, 1, 2, 3, 8, 12, 13, 14], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "add": [0, 3, 11], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 17], "version": [0, 10], "3": 0, "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "command": [0, 1, 3, 7, 9, 11, 12], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "get_or_fetch_memb": [3, 7, 15], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 16], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "decor": [8, 11, 12], "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "duplic": 11, "invoc": 11, "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 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": {"Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "site_api": [[6, "module-pydis_core.site_api"]], "Exts": [[5, "module-pydis_core.exts"]], "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"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "function": [[12, "module-pydis_core.utils.function"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "members": [[15, "module-pydis_core.utils.members"]], "logging": [[14, "module-pydis_core.utils.logging"]], "caching": [[8, "module-pydis_core.utils.caching"]], "channel": [[9, "module-pydis_core.utils.channel"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "commands": [[10, "module-pydis_core.utils.commands"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "regex": [[16, "module-pydis_core.utils.regex"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v9.1.1/versions.html b/v9.1.1/versions.html
index a99c1be4..ee0b4cf9 100644
--- a/v9.1.1/versions.html
+++ b/v9.1.1/versions.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -476,6 +480,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v9.10.0-alpha.1/.buildinfo b/v9.10.0-alpha.1/.buildinfo
index 50ef6b85..edd7d83d 100644
--- a/v9.10.0-alpha.1/.buildinfo
+++ b/v9.10.0-alpha.1/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 0f69f6c1eb398ed8d868d0e9cd520c5c
+config: 43d21d97f961c888a04a3c4a8712d6ef
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v9.10.0-alpha.1/changelog.html b/v9.10.0-alpha.1/changelog.html
index 2c65528b..1b7e1ef1 100644
--- a/v9.10.0-alpha.1/changelog.html
+++ b/v9.10.0-alpha.1/changelog.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/development.html b/v9.10.0-alpha.1/development.html
index fa73b28b..adaef950 100644
--- a/v9.10.0-alpha.1/development.html
+++ b/v9.10.0-alpha.1/development.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/genindex.html b/v9.10.0-alpha.1/genindex.html
index 9ab150ba..fa6d5b06 100644
--- a/v9.10.0-alpha.1/genindex.html
+++ b/v9.10.0-alpha.1/genindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/index.html b/v9.10.0-alpha.1/index.html
index 555756e2..1884f116 100644
--- a/v9.10.0-alpha.1/index.html
+++ b/v9.10.0-alpha.1/index.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/output/pydis_core.async_stats.html b/v9.10.0-alpha.1/output/pydis_core.async_stats.html
index d682725a..a6cb9d1d 100644
--- a/v9.10.0-alpha.1/output/pydis_core.async_stats.html
+++ b/v9.10.0-alpha.1/output/pydis_core.async_stats.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/output/pydis_core.exts.html b/v9.10.0-alpha.1/output/pydis_core.exts.html
index b3468d80..9a6818e5 100644
--- a/v9.10.0-alpha.1/output/pydis_core.exts.html
+++ b/v9.10.0-alpha.1/output/pydis_core.exts.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/output/pydis_core.html b/v9.10.0-alpha.1/output/pydis_core.html
index a1b8e5d9..fe018ca1 100644
--- a/v9.10.0-alpha.1/output/pydis_core.html
+++ b/v9.10.0-alpha.1/output/pydis_core.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/output/pydis_core.site_api.html b/v9.10.0-alpha.1/output/pydis_core.site_api.html
index 16e44a09..69e7a9ef 100644
--- a/v9.10.0-alpha.1/output/pydis_core.site_api.html
+++ b/v9.10.0-alpha.1/output/pydis_core.site_api.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/output/pydis_core.utils.caching.html b/v9.10.0-alpha.1/output/pydis_core.utils.caching.html
index 47509c1f..eddb4847 100644
--- a/v9.10.0-alpha.1/output/pydis_core.utils.caching.html
+++ b/v9.10.0-alpha.1/output/pydis_core.utils.caching.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/output/pydis_core.utils.channel.html b/v9.10.0-alpha.1/output/pydis_core.utils.channel.html
index 24d9ec0c..06b28768 100644
--- a/v9.10.0-alpha.1/output/pydis_core.utils.channel.html
+++ b/v9.10.0-alpha.1/output/pydis_core.utils.channel.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/output/pydis_core.utils.commands.html b/v9.10.0-alpha.1/output/pydis_core.utils.commands.html
index 8ab868b9..721bbf28 100644
--- a/v9.10.0-alpha.1/output/pydis_core.utils.commands.html
+++ b/v9.10.0-alpha.1/output/pydis_core.utils.commands.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/output/pydis_core.utils.cooldown.html b/v9.10.0-alpha.1/output/pydis_core.utils.cooldown.html
index 75281e7f..62852356 100644
--- a/v9.10.0-alpha.1/output/pydis_core.utils.cooldown.html
+++ b/v9.10.0-alpha.1/output/pydis_core.utils.cooldown.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/output/pydis_core.utils.error_handling.html b/v9.10.0-alpha.1/output/pydis_core.utils.error_handling.html
index 4d4bf541..8f482fe0 100644
--- a/v9.10.0-alpha.1/output/pydis_core.utils.error_handling.html
+++ b/v9.10.0-alpha.1/output/pydis_core.utils.error_handling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/output/pydis_core.utils.function.html b/v9.10.0-alpha.1/output/pydis_core.utils.function.html
index a1b1ca19..fda01b5f 100644
--- a/v9.10.0-alpha.1/output/pydis_core.utils.function.html
+++ b/v9.10.0-alpha.1/output/pydis_core.utils.function.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/output/pydis_core.utils.html b/v9.10.0-alpha.1/output/pydis_core.utils.html
index 8ef0fe01..99bb0afd 100644
--- a/v9.10.0-alpha.1/output/pydis_core.utils.html
+++ b/v9.10.0-alpha.1/output/pydis_core.utils.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/output/pydis_core.utils.interactions.html b/v9.10.0-alpha.1/output/pydis_core.utils.interactions.html
index a17575d5..c00839d2 100644
--- a/v9.10.0-alpha.1/output/pydis_core.utils.interactions.html
+++ b/v9.10.0-alpha.1/output/pydis_core.utils.interactions.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/output/pydis_core.utils.logging.html b/v9.10.0-alpha.1/output/pydis_core.utils.logging.html
index 1647a19b..8c27db17 100644
--- a/v9.10.0-alpha.1/output/pydis_core.utils.logging.html
+++ b/v9.10.0-alpha.1/output/pydis_core.utils.logging.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/output/pydis_core.utils.members.html b/v9.10.0-alpha.1/output/pydis_core.utils.members.html
index a23dad5f..ceddc58e 100644
--- a/v9.10.0-alpha.1/output/pydis_core.utils.members.html
+++ b/v9.10.0-alpha.1/output/pydis_core.utils.members.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/output/pydis_core.utils.paste_service.html b/v9.10.0-alpha.1/output/pydis_core.utils.paste_service.html
index fd3dc38f..4493b174 100644
--- a/v9.10.0-alpha.1/output/pydis_core.utils.paste_service.html
+++ b/v9.10.0-alpha.1/output/pydis_core.utils.paste_service.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/output/pydis_core.utils.regex.html b/v9.10.0-alpha.1/output/pydis_core.utils.regex.html
index 5872a3b8..b99f0050 100644
--- a/v9.10.0-alpha.1/output/pydis_core.utils.regex.html
+++ b/v9.10.0-alpha.1/output/pydis_core.utils.regex.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/output/pydis_core.utils.scheduling.html b/v9.10.0-alpha.1/output/pydis_core.utils.scheduling.html
index 7ffaa9a7..7557bbde 100644
--- a/v9.10.0-alpha.1/output/pydis_core.utils.scheduling.html
+++ b/v9.10.0-alpha.1/output/pydis_core.utils.scheduling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/py-modindex.html b/v9.10.0-alpha.1/py-modindex.html
index 1316d72d..484f493f 100644
--- a/v9.10.0-alpha.1/py-modindex.html
+++ b/v9.10.0-alpha.1/py-modindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/search.html b/v9.10.0-alpha.1/search.html
index 710b7a81..b1e3a83a 100644
--- a/v9.10.0-alpha.1/search.html
+++ b/v9.10.0-alpha.1/search.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.1/searchindex.js b/v9.10.0-alpha.1/searchindex.js
index 78af1111..9e23bec3 100644
--- a/v9.10.0-alpha.1/searchindex.js
+++ b/v9.10.0-alpha.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "2": [0, 3, 14], "2nd": 0, "juli": 0, "2023": 0, "bug": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "1": [0, 15], "month": 0, "30": 0, "dai": 0, "past": [0, 17, 19], "servic": [0, 1, 3, 17], "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "0": [0, 8, 14, 15], "18th": 0, "featur": [0, 1, 3], "182": 0, "add": [0, 3, 11], "support": [0, 4, 7, 19], "lexer": [0, 17], "valid": 0, "default": [0, 1], "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "py": [0, 13], "3": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "5": [0, 11], "march": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "file_nam": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"site_api": [[6, "module-pydis_core.site_api"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Exts": [[5, "module-pydis_core.exts"]], "caching": [[8, "module-pydis_core.utils.caching"]], "channel": [[9, "module-pydis_core.utils.channel"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "regex": [[18, "module-pydis_core.utils.regex"]], "members": [[16, "module-pydis_core.utils.members"]], "logging": [[15, "module-pydis_core.utils.logging"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "function": [[13, "module-pydis_core.utils.function"]], "commands": [[10, "module-pydis_core.utils.commands"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "2": [0, 3, 14], "2nd": 0, "juli": 0, "2023": 0, "bug": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "1": [0, 15], "month": 0, "30": 0, "dai": 0, "past": [0, 17, 19], "servic": [0, 1, 3, 17], "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "0": [0, 8, 14, 15], "18th": 0, "featur": [0, 1, 3], "182": 0, "add": [0, 3, 11], "support": [0, 4, 7, 19], "lexer": [0, 17], "valid": 0, "default": [0, 1], "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "py": [0, 13], "3": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "5": [0, 11], "march": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "file_nam": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 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": {"Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "channel": [[9, "module-pydis_core.utils.channel"]], "Exts": [[5, "module-pydis_core.exts"]], "caching": [[8, "module-pydis_core.utils.caching"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "regex": [[18, "module-pydis_core.utils.regex"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "members": [[16, "module-pydis_core.utils.members"]], "logging": [[15, "module-pydis_core.utils.logging"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Changelog": [[0, "changelog"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "commands": [[10, "module-pydis_core.utils.commands"]], "function": [[13, "module-pydis_core.utils.function"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v9.10.0-alpha.1/versions.html b/v9.10.0-alpha.1/versions.html
index c4c9fb59..3adfeb1f 100644
--- a/v9.10.0-alpha.1/versions.html
+++ b/v9.10.0-alpha.1/versions.html
@@ -275,6 +275,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -478,6 +482,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v9.10.0-alpha.2/.buildinfo b/v9.10.0-alpha.2/.buildinfo
index 1a3fdfb6..e9e943cc 100644
--- a/v9.10.0-alpha.2/.buildinfo
+++ b/v9.10.0-alpha.2/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 0c70647ec51c47ccb14bbe3055d1116c
+config: ea8b36d67f13b2ecf19982b5f0ff9044
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v9.10.0-alpha.2/changelog.html b/v9.10.0-alpha.2/changelog.html
index be79659a..02d4813c 100644
--- a/v9.10.0-alpha.2/changelog.html
+++ b/v9.10.0-alpha.2/changelog.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/development.html b/v9.10.0-alpha.2/development.html
index 16daed49..ab287d18 100644
--- a/v9.10.0-alpha.2/development.html
+++ b/v9.10.0-alpha.2/development.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/genindex.html b/v9.10.0-alpha.2/genindex.html
index 01f5e1c7..90b02534 100644
--- a/v9.10.0-alpha.2/genindex.html
+++ b/v9.10.0-alpha.2/genindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/index.html b/v9.10.0-alpha.2/index.html
index 00b64cc6..213252f7 100644
--- a/v9.10.0-alpha.2/index.html
+++ b/v9.10.0-alpha.2/index.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/output/pydis_core.async_stats.html b/v9.10.0-alpha.2/output/pydis_core.async_stats.html
index 5b3bf1cb..c3f26b24 100644
--- a/v9.10.0-alpha.2/output/pydis_core.async_stats.html
+++ b/v9.10.0-alpha.2/output/pydis_core.async_stats.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/output/pydis_core.exts.html b/v9.10.0-alpha.2/output/pydis_core.exts.html
index 00ac1564..8f5b1980 100644
--- a/v9.10.0-alpha.2/output/pydis_core.exts.html
+++ b/v9.10.0-alpha.2/output/pydis_core.exts.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/output/pydis_core.html b/v9.10.0-alpha.2/output/pydis_core.html
index 320a05e8..125718a1 100644
--- a/v9.10.0-alpha.2/output/pydis_core.html
+++ b/v9.10.0-alpha.2/output/pydis_core.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/output/pydis_core.site_api.html b/v9.10.0-alpha.2/output/pydis_core.site_api.html
index 34279685..0d06ce3f 100644
--- a/v9.10.0-alpha.2/output/pydis_core.site_api.html
+++ b/v9.10.0-alpha.2/output/pydis_core.site_api.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/output/pydis_core.utils.caching.html b/v9.10.0-alpha.2/output/pydis_core.utils.caching.html
index 7516e607..be94be21 100644
--- a/v9.10.0-alpha.2/output/pydis_core.utils.caching.html
+++ b/v9.10.0-alpha.2/output/pydis_core.utils.caching.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/output/pydis_core.utils.channel.html b/v9.10.0-alpha.2/output/pydis_core.utils.channel.html
index eacb0b8e..aa90e442 100644
--- a/v9.10.0-alpha.2/output/pydis_core.utils.channel.html
+++ b/v9.10.0-alpha.2/output/pydis_core.utils.channel.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/output/pydis_core.utils.commands.html b/v9.10.0-alpha.2/output/pydis_core.utils.commands.html
index 04b110e1..e1a85ac4 100644
--- a/v9.10.0-alpha.2/output/pydis_core.utils.commands.html
+++ b/v9.10.0-alpha.2/output/pydis_core.utils.commands.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/output/pydis_core.utils.cooldown.html b/v9.10.0-alpha.2/output/pydis_core.utils.cooldown.html
index f1d6d366..552509e4 100644
--- a/v9.10.0-alpha.2/output/pydis_core.utils.cooldown.html
+++ b/v9.10.0-alpha.2/output/pydis_core.utils.cooldown.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/output/pydis_core.utils.error_handling.html b/v9.10.0-alpha.2/output/pydis_core.utils.error_handling.html
index 09ddbff3..294ff8d7 100644
--- a/v9.10.0-alpha.2/output/pydis_core.utils.error_handling.html
+++ b/v9.10.0-alpha.2/output/pydis_core.utils.error_handling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/output/pydis_core.utils.function.html b/v9.10.0-alpha.2/output/pydis_core.utils.function.html
index be84589c..6ee223d7 100644
--- a/v9.10.0-alpha.2/output/pydis_core.utils.function.html
+++ b/v9.10.0-alpha.2/output/pydis_core.utils.function.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/output/pydis_core.utils.html b/v9.10.0-alpha.2/output/pydis_core.utils.html
index bb287d3e..75c5ac3b 100644
--- a/v9.10.0-alpha.2/output/pydis_core.utils.html
+++ b/v9.10.0-alpha.2/output/pydis_core.utils.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/output/pydis_core.utils.interactions.html b/v9.10.0-alpha.2/output/pydis_core.utils.interactions.html
index 2ec1fa1f..2f7898c9 100644
--- a/v9.10.0-alpha.2/output/pydis_core.utils.interactions.html
+++ b/v9.10.0-alpha.2/output/pydis_core.utils.interactions.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/output/pydis_core.utils.logging.html b/v9.10.0-alpha.2/output/pydis_core.utils.logging.html
index d46c1167..e1fa7d86 100644
--- a/v9.10.0-alpha.2/output/pydis_core.utils.logging.html
+++ b/v9.10.0-alpha.2/output/pydis_core.utils.logging.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/output/pydis_core.utils.members.html b/v9.10.0-alpha.2/output/pydis_core.utils.members.html
index da6baf21..563ca900 100644
--- a/v9.10.0-alpha.2/output/pydis_core.utils.members.html
+++ b/v9.10.0-alpha.2/output/pydis_core.utils.members.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/output/pydis_core.utils.paste_service.html b/v9.10.0-alpha.2/output/pydis_core.utils.paste_service.html
index 530c3210..f6bc030b 100644
--- a/v9.10.0-alpha.2/output/pydis_core.utils.paste_service.html
+++ b/v9.10.0-alpha.2/output/pydis_core.utils.paste_service.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/output/pydis_core.utils.regex.html b/v9.10.0-alpha.2/output/pydis_core.utils.regex.html
index 67f667a1..10516bdd 100644
--- a/v9.10.0-alpha.2/output/pydis_core.utils.regex.html
+++ b/v9.10.0-alpha.2/output/pydis_core.utils.regex.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/output/pydis_core.utils.scheduling.html b/v9.10.0-alpha.2/output/pydis_core.utils.scheduling.html
index 3ea1049a..e156e0ff 100644
--- a/v9.10.0-alpha.2/output/pydis_core.utils.scheduling.html
+++ b/v9.10.0-alpha.2/output/pydis_core.utils.scheduling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/py-modindex.html b/v9.10.0-alpha.2/py-modindex.html
index 2a0c3666..770417b1 100644
--- a/v9.10.0-alpha.2/py-modindex.html
+++ b/v9.10.0-alpha.2/py-modindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/search.html b/v9.10.0-alpha.2/search.html
index a27639d2..3324373b 100644
--- a/v9.10.0-alpha.2/search.html
+++ b/v9.10.0-alpha.2/search.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.10.0-alpha.2/searchindex.js b/v9.10.0-alpha.2/searchindex.js
index 2967a6a7..cd427b6b 100644
--- a/v9.10.0-alpha.2/searchindex.js
+++ b/v9.10.0-alpha.2/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "2": [0, 3, 14], "2nd": 0, "juli": 0, "2023": 0, "bug": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "1": [0, 15], "month": 0, "30": 0, "dai": 0, "past": [0, 17, 19], "servic": [0, 1, 3, 17], "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "0": [0, 8, 14, 15], "18th": 0, "featur": [0, 1, 3], "182": 0, "add": [0, 3, 11], "support": [0, 4, 7, 19], "lexer": [0, 17], "valid": 0, "default": [0, 1], "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "py": [0, 13], "3": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "5": [0, 11], "march": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "file_nam": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 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": {"Exts": [[5, "module-pydis_core.exts"]], "site_api": [[6, "module-pydis_core.site_api"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "channel": [[9, "module-pydis_core.utils.channel"]], "caching": [[8, "module-pydis_core.utils.caching"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "regex": [[18, "module-pydis_core.utils.regex"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "members": [[16, "module-pydis_core.utils.members"]], "logging": [[15, "module-pydis_core.utils.logging"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "function": [[13, "module-pydis_core.utils.function"]], "commands": [[10, "module-pydis_core.utils.commands"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "2": [0, 3, 14], "2nd": 0, "juli": 0, "2023": 0, "bug": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "1": [0, 15], "month": 0, "30": 0, "dai": 0, "past": [0, 17, 19], "servic": [0, 1, 3, 17], "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "0": [0, 8, 14, 15], "18th": 0, "featur": [0, 1, 3], "182": 0, "add": [0, 3, 11], "support": [0, 4, 7, 19], "lexer": [0, 17], "valid": 0, "default": [0, 1], "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "py": [0, 13], "3": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "5": [0, 11], "march": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "file_nam": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 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": {"Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "channel": [[9, "module-pydis_core.utils.channel"]], "Exts": [[5, "module-pydis_core.exts"]], "site_api": [[6, "module-pydis_core.site_api"]], "caching": [[8, "module-pydis_core.utils.caching"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "members": [[16, "module-pydis_core.utils.members"]], "regex": [[18, "module-pydis_core.utils.regex"]], "logging": [[15, "module-pydis_core.utils.logging"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Changelog": [[0, "changelog"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "commands": [[10, "module-pydis_core.utils.commands"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "function": [[13, "module-pydis_core.utils.function"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v9.10.0-alpha.2/versions.html b/v9.10.0-alpha.2/versions.html
index 6bc6bf0b..2ba67456 100644
--- a/v9.10.0-alpha.2/versions.html
+++ b/v9.10.0-alpha.2/versions.html
@@ -275,6 +275,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -478,6 +482,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v9.2.0/.buildinfo b/v9.2.0/.buildinfo
index a5fd5b89..39ae728d 100644
--- a/v9.2.0/.buildinfo
+++ b/v9.2.0/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: e16ee444c7597602e0800e64c48d4ac7
+config: 27f790f08a4ffa4839730733c0f2c889
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v9.2.0/changelog.html b/v9.2.0/changelog.html
index d9d5f7e1..8ee0a19c 100644
--- a/v9.2.0/changelog.html
+++ b/v9.2.0/changelog.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/development.html b/v9.2.0/development.html
index ab7be100..213c1549 100644
--- a/v9.2.0/development.html
+++ b/v9.2.0/development.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/genindex.html b/v9.2.0/genindex.html
index 58736afd..197149f9 100644
--- a/v9.2.0/genindex.html
+++ b/v9.2.0/genindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/index.html b/v9.2.0/index.html
index d5b4ed40..71da39e9 100644
--- a/v9.2.0/index.html
+++ b/v9.2.0/index.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/output/pydis_core.async_stats.html b/v9.2.0/output/pydis_core.async_stats.html
index 573d8a5d..ee1af37b 100644
--- a/v9.2.0/output/pydis_core.async_stats.html
+++ b/v9.2.0/output/pydis_core.async_stats.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/output/pydis_core.exts.html b/v9.2.0/output/pydis_core.exts.html
index 48c80394..26bed2e6 100644
--- a/v9.2.0/output/pydis_core.exts.html
+++ b/v9.2.0/output/pydis_core.exts.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/output/pydis_core.html b/v9.2.0/output/pydis_core.html
index 1ea666cc..67019154 100644
--- a/v9.2.0/output/pydis_core.html
+++ b/v9.2.0/output/pydis_core.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/output/pydis_core.site_api.html b/v9.2.0/output/pydis_core.site_api.html
index c7cc2718..a32daac6 100644
--- a/v9.2.0/output/pydis_core.site_api.html
+++ b/v9.2.0/output/pydis_core.site_api.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/output/pydis_core.utils.caching.html b/v9.2.0/output/pydis_core.utils.caching.html
index c77fe8c5..55d72835 100644
--- a/v9.2.0/output/pydis_core.utils.caching.html
+++ b/v9.2.0/output/pydis_core.utils.caching.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/output/pydis_core.utils.channel.html b/v9.2.0/output/pydis_core.utils.channel.html
index a7129a29..66af34d1 100644
--- a/v9.2.0/output/pydis_core.utils.channel.html
+++ b/v9.2.0/output/pydis_core.utils.channel.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/output/pydis_core.utils.commands.html b/v9.2.0/output/pydis_core.utils.commands.html
index e783791c..ddc688b2 100644
--- a/v9.2.0/output/pydis_core.utils.commands.html
+++ b/v9.2.0/output/pydis_core.utils.commands.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/output/pydis_core.utils.cooldown.html b/v9.2.0/output/pydis_core.utils.cooldown.html
index d7115120..3957a6ad 100644
--- a/v9.2.0/output/pydis_core.utils.cooldown.html
+++ b/v9.2.0/output/pydis_core.utils.cooldown.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/output/pydis_core.utils.function.html b/v9.2.0/output/pydis_core.utils.function.html
index c6ec2ec2..30de1c0a 100644
--- a/v9.2.0/output/pydis_core.utils.function.html
+++ b/v9.2.0/output/pydis_core.utils.function.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/output/pydis_core.utils.html b/v9.2.0/output/pydis_core.utils.html
index dd43f133..88e6c078 100644
--- a/v9.2.0/output/pydis_core.utils.html
+++ b/v9.2.0/output/pydis_core.utils.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/output/pydis_core.utils.interactions.html b/v9.2.0/output/pydis_core.utils.interactions.html
index 7dfa3e85..214cf88e 100644
--- a/v9.2.0/output/pydis_core.utils.interactions.html
+++ b/v9.2.0/output/pydis_core.utils.interactions.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/output/pydis_core.utils.logging.html b/v9.2.0/output/pydis_core.utils.logging.html
index bcb7ce8e..9eaa7cff 100644
--- a/v9.2.0/output/pydis_core.utils.logging.html
+++ b/v9.2.0/output/pydis_core.utils.logging.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/output/pydis_core.utils.members.html b/v9.2.0/output/pydis_core.utils.members.html
index 11ae101b..5de5f3db 100644
--- a/v9.2.0/output/pydis_core.utils.members.html
+++ b/v9.2.0/output/pydis_core.utils.members.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/output/pydis_core.utils.regex.html b/v9.2.0/output/pydis_core.utils.regex.html
index 73e61220..0da2ae16 100644
--- a/v9.2.0/output/pydis_core.utils.regex.html
+++ b/v9.2.0/output/pydis_core.utils.regex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/output/pydis_core.utils.scheduling.html b/v9.2.0/output/pydis_core.utils.scheduling.html
index 1466d798..301a64bd 100644
--- a/v9.2.0/output/pydis_core.utils.scheduling.html
+++ b/v9.2.0/output/pydis_core.utils.scheduling.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/py-modindex.html b/v9.2.0/py-modindex.html
index 49a37045..0c5cd2c4 100644
--- a/v9.2.0/py-modindex.html
+++ b/v9.2.0/py-modindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/search.html b/v9.2.0/search.html
index f54a0032..34aa59e3 100644
--- a/v9.2.0/search.html
+++ b/v9.2.0/search.html
@@ -271,6 +271,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.2.0/searchindex.js b/v9.2.0/searchindex.js
index fbc8fb36..6bf1aec1 100644
--- a/v9.2.0/searchindex.js
+++ b/v9.2.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "2": [0, 3, 13], "0": [0, 8, 13, 14], "17th": 0, "novemb": 0, "2022": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "3": 0, "11": 0, "1": [0, 14], "14th": 0, "bug": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "13th": 0, "featur": [0, 1, 3], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "command": [0, 1, 3, 7, 9, 11, 12], "158": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "pydis_cor": [0, 1, 3, 13], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "util": [0, 1, 2, 3, 8, 12, 13, 14], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "4": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "get_or_fetch_memb": [3, 7, 15], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 16], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 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": {"Exts": [[5, "module-pydis_core.exts"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Changelog": [[0, "changelog"]], "logging": [[14, "module-pydis_core.utils.logging"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "members": [[15, "module-pydis_core.utils.members"]], "function": [[12, "module-pydis_core.utils.function"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "channel": [[9, "module-pydis_core.utils.channel"]], "caching": [[8, "module-pydis_core.utils.caching"]], "commands": [[10, "module-pydis_core.utils.commands"]], "regex": [[16, "module-pydis_core.utils.regex"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "2": [0, 3, 13], "0": [0, 8, 13, 14], "17th": 0, "novemb": 0, "2022": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "3": 0, "11": 0, "1": [0, 14], "14th": 0, "bug": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "13th": 0, "featur": [0, 1, 3], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "command": [0, 1, 3, 7, 9, 11, 12], "158": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "pydis_cor": [0, 1, 3, 13], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "util": [0, 1, 2, 3, 8, 12, 13, 14], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "4": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "get_or_fetch_memb": [3, 7, 15], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 16], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"site_api": [[6, "module-pydis_core.site_api"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "function": [[12, "module-pydis_core.utils.function"]], "members": [[15, "module-pydis_core.utils.members"]], "logging": [[14, "module-pydis_core.utils.logging"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "caching": [[8, "module-pydis_core.utils.caching"]], "commands": [[10, "module-pydis_core.utils.commands"]], "channel": [[9, "module-pydis_core.utils.channel"]], "regex": [[16, "module-pydis_core.utils.regex"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v9.2.0/versions.html b/v9.2.0/versions.html
index 85a5b6e2..0aa8adfa 100644
--- a/v9.2.0/versions.html
+++ b/v9.2.0/versions.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -476,6 +480,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v9.3.0/.buildinfo b/v9.3.0/.buildinfo
index 183063c1..237b97d7 100644
--- a/v9.3.0/.buildinfo
+++ b/v9.3.0/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: a17c2337f95f1b559556bd48cbf280bf
+config: 4cce77d19280fb938b95206f4f101658
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v9.3.0/changelog.html b/v9.3.0/changelog.html
index 73f26e11..e5b393af 100644
--- a/v9.3.0/changelog.html
+++ b/v9.3.0/changelog.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/development.html b/v9.3.0/development.html
index 63d2f722..9cb98be6 100644
--- a/v9.3.0/development.html
+++ b/v9.3.0/development.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/genindex.html b/v9.3.0/genindex.html
index db4bf514..6aa30696 100644
--- a/v9.3.0/genindex.html
+++ b/v9.3.0/genindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/index.html b/v9.3.0/index.html
index d6d002f6..87a0df68 100644
--- a/v9.3.0/index.html
+++ b/v9.3.0/index.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/output/pydis_core.async_stats.html b/v9.3.0/output/pydis_core.async_stats.html
index c26bafe8..96ed094b 100644
--- a/v9.3.0/output/pydis_core.async_stats.html
+++ b/v9.3.0/output/pydis_core.async_stats.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/output/pydis_core.exts.html b/v9.3.0/output/pydis_core.exts.html
index cf4068c5..4ab8e9dc 100644
--- a/v9.3.0/output/pydis_core.exts.html
+++ b/v9.3.0/output/pydis_core.exts.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/output/pydis_core.html b/v9.3.0/output/pydis_core.html
index b0db1239..ac382ae4 100644
--- a/v9.3.0/output/pydis_core.html
+++ b/v9.3.0/output/pydis_core.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/output/pydis_core.site_api.html b/v9.3.0/output/pydis_core.site_api.html
index af198e61..9f117ae0 100644
--- a/v9.3.0/output/pydis_core.site_api.html
+++ b/v9.3.0/output/pydis_core.site_api.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/output/pydis_core.utils.caching.html b/v9.3.0/output/pydis_core.utils.caching.html
index 643aa568..694eb310 100644
--- a/v9.3.0/output/pydis_core.utils.caching.html
+++ b/v9.3.0/output/pydis_core.utils.caching.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/output/pydis_core.utils.channel.html b/v9.3.0/output/pydis_core.utils.channel.html
index c1d338c0..a74ea241 100644
--- a/v9.3.0/output/pydis_core.utils.channel.html
+++ b/v9.3.0/output/pydis_core.utils.channel.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/output/pydis_core.utils.commands.html b/v9.3.0/output/pydis_core.utils.commands.html
index a2a603d0..eb79bc5f 100644
--- a/v9.3.0/output/pydis_core.utils.commands.html
+++ b/v9.3.0/output/pydis_core.utils.commands.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/output/pydis_core.utils.cooldown.html b/v9.3.0/output/pydis_core.utils.cooldown.html
index de2c48eb..5e626ec3 100644
--- a/v9.3.0/output/pydis_core.utils.cooldown.html
+++ b/v9.3.0/output/pydis_core.utils.cooldown.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/output/pydis_core.utils.function.html b/v9.3.0/output/pydis_core.utils.function.html
index ba3a5256..47b64130 100644
--- a/v9.3.0/output/pydis_core.utils.function.html
+++ b/v9.3.0/output/pydis_core.utils.function.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/output/pydis_core.utils.html b/v9.3.0/output/pydis_core.utils.html
index a8a623e6..d7875030 100644
--- a/v9.3.0/output/pydis_core.utils.html
+++ b/v9.3.0/output/pydis_core.utils.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/output/pydis_core.utils.interactions.html b/v9.3.0/output/pydis_core.utils.interactions.html
index c0cd89a2..92136ef2 100644
--- a/v9.3.0/output/pydis_core.utils.interactions.html
+++ b/v9.3.0/output/pydis_core.utils.interactions.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/output/pydis_core.utils.logging.html b/v9.3.0/output/pydis_core.utils.logging.html
index 977863e6..f8644a0b 100644
--- a/v9.3.0/output/pydis_core.utils.logging.html
+++ b/v9.3.0/output/pydis_core.utils.logging.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/output/pydis_core.utils.members.html b/v9.3.0/output/pydis_core.utils.members.html
index 67dd9e87..afe3b7de 100644
--- a/v9.3.0/output/pydis_core.utils.members.html
+++ b/v9.3.0/output/pydis_core.utils.members.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/output/pydis_core.utils.regex.html b/v9.3.0/output/pydis_core.utils.regex.html
index 33fbdcfc..1de36f71 100644
--- a/v9.3.0/output/pydis_core.utils.regex.html
+++ b/v9.3.0/output/pydis_core.utils.regex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/output/pydis_core.utils.scheduling.html b/v9.3.0/output/pydis_core.utils.scheduling.html
index 3debb809..42cf3c0b 100644
--- a/v9.3.0/output/pydis_core.utils.scheduling.html
+++ b/v9.3.0/output/pydis_core.utils.scheduling.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/py-modindex.html b/v9.3.0/py-modindex.html
index 671f86d3..bea8e515 100644
--- a/v9.3.0/py-modindex.html
+++ b/v9.3.0/py-modindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/search.html b/v9.3.0/search.html
index 0b51f141..e0fcb0ea 100644
--- a/v9.3.0/search.html
+++ b/v9.3.0/search.html
@@ -271,6 +271,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.3.0/searchindex.js b/v9.3.0/searchindex.js
index d575b0c9..54f20bbc 100644
--- a/v9.3.0/searchindex.js
+++ b/v9.3.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "3": 0, "0": [0, 8, 13, 14], "13th": 0, "decemb": 0, "2022": 0, "featur": [0, 1, 3], "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "pydis_cor": [0, 1, 3, 13], "util": [0, 1, 2, 3, 8, 12, 13, 14], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "2": [0, 3, 13], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "1": [0, 14], "14th": 0, "bug": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "command": [0, 1, 3, 7, 9, 11, 12], "158": 0, "bump": 0, "py": [0, 12], "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "4": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"site_api": [[6, "module-pydis_core.site_api"]], "Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "logging": [[14, "module-pydis_core.utils.logging"]], "members": [[15, "module-pydis_core.utils.members"]], "function": [[12, "module-pydis_core.utils.function"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "channel": [[9, "module-pydis_core.utils.channel"]], "commands": [[10, "module-pydis_core.utils.commands"]], "caching": [[8, "module-pydis_core.utils.caching"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "regex": [[16, "module-pydis_core.utils.regex"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "3": 0, "0": [0, 8, 13, 14], "13th": 0, "decemb": 0, "2022": 0, "featur": [0, 1, 3], "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "pydis_cor": [0, 1, 3, 13], "util": [0, 1, 2, 3, 8, 12, 13, 14], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "2": [0, 3, 13], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "1": [0, 14], "14th": 0, "bug": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "command": [0, 1, 3, 7, 9, 11, 12], "158": 0, "bump": 0, "py": [0, 12], "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "4": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 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": {"Exts": [[5, "module-pydis_core.exts"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Changelog": [[0, "changelog"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "members": [[15, "module-pydis_core.utils.members"]], "function": [[12, "module-pydis_core.utils.function"]], "logging": [[14, "module-pydis_core.utils.logging"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "channel": [[9, "module-pydis_core.utils.channel"]], "caching": [[8, "module-pydis_core.utils.caching"]], "commands": [[10, "module-pydis_core.utils.commands"]], "regex": [[16, "module-pydis_core.utils.regex"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v9.3.0/versions.html b/v9.3.0/versions.html
index 1b4943fd..6ff204f3 100644
--- a/v9.3.0/versions.html
+++ b/v9.3.0/versions.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -476,6 +480,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v9.4.0/.buildinfo b/v9.4.0/.buildinfo
index ecc59db6..56f50315 100644
--- a/v9.4.0/.buildinfo
+++ b/v9.4.0/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 613d99fa2d5a9907efa778e16bda297a
+config: de0bd7da9109fecc9fb62be3e501cc10
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v9.4.0/changelog.html b/v9.4.0/changelog.html
index bcb3cdc2..0e7f4f55 100644
--- a/v9.4.0/changelog.html
+++ b/v9.4.0/changelog.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/development.html b/v9.4.0/development.html
index 56f88ba3..d0d966d5 100644
--- a/v9.4.0/development.html
+++ b/v9.4.0/development.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/genindex.html b/v9.4.0/genindex.html
index d176db30..7588ecfb 100644
--- a/v9.4.0/genindex.html
+++ b/v9.4.0/genindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/index.html b/v9.4.0/index.html
index 82802766..b42e1273 100644
--- a/v9.4.0/index.html
+++ b/v9.4.0/index.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/output/pydis_core.async_stats.html b/v9.4.0/output/pydis_core.async_stats.html
index dfd557cf..09550927 100644
--- a/v9.4.0/output/pydis_core.async_stats.html
+++ b/v9.4.0/output/pydis_core.async_stats.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/output/pydis_core.exts.html b/v9.4.0/output/pydis_core.exts.html
index 19f27a74..2d2ec424 100644
--- a/v9.4.0/output/pydis_core.exts.html
+++ b/v9.4.0/output/pydis_core.exts.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/output/pydis_core.html b/v9.4.0/output/pydis_core.html
index 05bd6cec..38243e49 100644
--- a/v9.4.0/output/pydis_core.html
+++ b/v9.4.0/output/pydis_core.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/output/pydis_core.site_api.html b/v9.4.0/output/pydis_core.site_api.html
index 80b08aa1..b7293c68 100644
--- a/v9.4.0/output/pydis_core.site_api.html
+++ b/v9.4.0/output/pydis_core.site_api.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/output/pydis_core.utils.caching.html b/v9.4.0/output/pydis_core.utils.caching.html
index 9ab2870f..cfa60d85 100644
--- a/v9.4.0/output/pydis_core.utils.caching.html
+++ b/v9.4.0/output/pydis_core.utils.caching.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/output/pydis_core.utils.channel.html b/v9.4.0/output/pydis_core.utils.channel.html
index 2349751c..97df06fa 100644
--- a/v9.4.0/output/pydis_core.utils.channel.html
+++ b/v9.4.0/output/pydis_core.utils.channel.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/output/pydis_core.utils.commands.html b/v9.4.0/output/pydis_core.utils.commands.html
index 7bc8e4f4..79501222 100644
--- a/v9.4.0/output/pydis_core.utils.commands.html
+++ b/v9.4.0/output/pydis_core.utils.commands.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/output/pydis_core.utils.cooldown.html b/v9.4.0/output/pydis_core.utils.cooldown.html
index dbdf258e..a2e73375 100644
--- a/v9.4.0/output/pydis_core.utils.cooldown.html
+++ b/v9.4.0/output/pydis_core.utils.cooldown.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/output/pydis_core.utils.function.html b/v9.4.0/output/pydis_core.utils.function.html
index 09b23038..aa970ae3 100644
--- a/v9.4.0/output/pydis_core.utils.function.html
+++ b/v9.4.0/output/pydis_core.utils.function.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/output/pydis_core.utils.html b/v9.4.0/output/pydis_core.utils.html
index d4b703db..a96ca11c 100644
--- a/v9.4.0/output/pydis_core.utils.html
+++ b/v9.4.0/output/pydis_core.utils.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/output/pydis_core.utils.interactions.html b/v9.4.0/output/pydis_core.utils.interactions.html
index f2304c5c..35cc156a 100644
--- a/v9.4.0/output/pydis_core.utils.interactions.html
+++ b/v9.4.0/output/pydis_core.utils.interactions.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/output/pydis_core.utils.logging.html b/v9.4.0/output/pydis_core.utils.logging.html
index 35f84dee..449900c3 100644
--- a/v9.4.0/output/pydis_core.utils.logging.html
+++ b/v9.4.0/output/pydis_core.utils.logging.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/output/pydis_core.utils.members.html b/v9.4.0/output/pydis_core.utils.members.html
index 369d9bb3..f3d97fab 100644
--- a/v9.4.0/output/pydis_core.utils.members.html
+++ b/v9.4.0/output/pydis_core.utils.members.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/output/pydis_core.utils.regex.html b/v9.4.0/output/pydis_core.utils.regex.html
index 43da4cd1..7d667e21 100644
--- a/v9.4.0/output/pydis_core.utils.regex.html
+++ b/v9.4.0/output/pydis_core.utils.regex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/output/pydis_core.utils.scheduling.html b/v9.4.0/output/pydis_core.utils.scheduling.html
index ca7ab7d4..b1fa65ac 100644
--- a/v9.4.0/output/pydis_core.utils.scheduling.html
+++ b/v9.4.0/output/pydis_core.utils.scheduling.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/py-modindex.html b/v9.4.0/py-modindex.html
index 6263760e..e1bfa981 100644
--- a/v9.4.0/py-modindex.html
+++ b/v9.4.0/py-modindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/search.html b/v9.4.0/search.html
index 4ef08b8b..135b2050 100644
--- a/v9.4.0/search.html
+++ b/v9.4.0/search.html
@@ -271,6 +271,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.4.0/searchindex.js b/v9.4.0/searchindex.js
index 616fdb83..532acdf8 100644
--- a/v9.4.0/searchindex.js
+++ b/v9.4.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "4": 0, "0": [0, 8, 13, 14], "24th": 0, "decemb": 0, "2022": 0, "featur": [0, 1, 3], "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "releas": 0, "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "3": 0, "1": [0, 14], "23rd": 0, "bug": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "2": [0, 3, 13], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "bump": 0, "py": [0, 12], "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 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": {"Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "Exts": [[5, "module-pydis_core.exts"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "logging": [[14, "module-pydis_core.utils.logging"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "members": [[15, "module-pydis_core.utils.members"]], "function": [[12, "module-pydis_core.utils.function"]], "channel": [[9, "module-pydis_core.utils.channel"]], "commands": [[10, "module-pydis_core.utils.commands"]], "caching": [[8, "module-pydis_core.utils.caching"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "regex": [[16, "module-pydis_core.utils.regex"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "4": 0, "0": [0, 8, 13, 14], "24th": 0, "decemb": 0, "2022": 0, "featur": [0, 1, 3], "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "releas": 0, "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "3": 0, "1": [0, 14], "23rd": 0, "bug": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "2": [0, 3, 13], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "bump": 0, "py": [0, 12], "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 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": {"Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "site_api": [[6, "module-pydis_core.site_api"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "function": [[12, "module-pydis_core.utils.function"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "members": [[15, "module-pydis_core.utils.members"]], "logging": [[14, "module-pydis_core.utils.logging"]], "caching": [[8, "module-pydis_core.utils.caching"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "channel": [[9, "module-pydis_core.utils.channel"]], "commands": [[10, "module-pydis_core.utils.commands"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "regex": [[16, "module-pydis_core.utils.regex"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v9.4.0/versions.html b/v9.4.0/versions.html
index cd6030cc..b61862d6 100644
--- a/v9.4.0/versions.html
+++ b/v9.4.0/versions.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -476,6 +480,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v9.4.1/.buildinfo b/v9.4.1/.buildinfo
index 713bc37f..d3b0fda1 100644
--- a/v9.4.1/.buildinfo
+++ b/v9.4.1/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 33c222fc6d3c11c828b5ef66ad4ece9e
+config: 832081010debb2e30022d704da635a62
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v9.4.1/changelog.html b/v9.4.1/changelog.html
index 870b07b5..0b0078d7 100644
--- a/v9.4.1/changelog.html
+++ b/v9.4.1/changelog.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/development.html b/v9.4.1/development.html
index 4b0bb3fb..e053f853 100644
--- a/v9.4.1/development.html
+++ b/v9.4.1/development.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/genindex.html b/v9.4.1/genindex.html
index 8cd5181c..3039814f 100644
--- a/v9.4.1/genindex.html
+++ b/v9.4.1/genindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/index.html b/v9.4.1/index.html
index 0319fb29..232b742a 100644
--- a/v9.4.1/index.html
+++ b/v9.4.1/index.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/output/pydis_core.async_stats.html b/v9.4.1/output/pydis_core.async_stats.html
index cbd404c4..5ecc5063 100644
--- a/v9.4.1/output/pydis_core.async_stats.html
+++ b/v9.4.1/output/pydis_core.async_stats.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/output/pydis_core.exts.html b/v9.4.1/output/pydis_core.exts.html
index ca335779..d9af86a0 100644
--- a/v9.4.1/output/pydis_core.exts.html
+++ b/v9.4.1/output/pydis_core.exts.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/output/pydis_core.html b/v9.4.1/output/pydis_core.html
index 29264865..4e800f84 100644
--- a/v9.4.1/output/pydis_core.html
+++ b/v9.4.1/output/pydis_core.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/output/pydis_core.site_api.html b/v9.4.1/output/pydis_core.site_api.html
index 5e934df6..6d7b48d2 100644
--- a/v9.4.1/output/pydis_core.site_api.html
+++ b/v9.4.1/output/pydis_core.site_api.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/output/pydis_core.utils.caching.html b/v9.4.1/output/pydis_core.utils.caching.html
index 44b83cbc..07aa5f0c 100644
--- a/v9.4.1/output/pydis_core.utils.caching.html
+++ b/v9.4.1/output/pydis_core.utils.caching.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/output/pydis_core.utils.channel.html b/v9.4.1/output/pydis_core.utils.channel.html
index d39652da..886d95f9 100644
--- a/v9.4.1/output/pydis_core.utils.channel.html
+++ b/v9.4.1/output/pydis_core.utils.channel.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/output/pydis_core.utils.commands.html b/v9.4.1/output/pydis_core.utils.commands.html
index b9c93b71..0daa9a16 100644
--- a/v9.4.1/output/pydis_core.utils.commands.html
+++ b/v9.4.1/output/pydis_core.utils.commands.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/output/pydis_core.utils.cooldown.html b/v9.4.1/output/pydis_core.utils.cooldown.html
index 812eb17a..552facbc 100644
--- a/v9.4.1/output/pydis_core.utils.cooldown.html
+++ b/v9.4.1/output/pydis_core.utils.cooldown.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/output/pydis_core.utils.function.html b/v9.4.1/output/pydis_core.utils.function.html
index af39a657..f277c513 100644
--- a/v9.4.1/output/pydis_core.utils.function.html
+++ b/v9.4.1/output/pydis_core.utils.function.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/output/pydis_core.utils.html b/v9.4.1/output/pydis_core.utils.html
index b848174e..611d05ba 100644
--- a/v9.4.1/output/pydis_core.utils.html
+++ b/v9.4.1/output/pydis_core.utils.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/output/pydis_core.utils.interactions.html b/v9.4.1/output/pydis_core.utils.interactions.html
index bd71b123..d871cd87 100644
--- a/v9.4.1/output/pydis_core.utils.interactions.html
+++ b/v9.4.1/output/pydis_core.utils.interactions.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/output/pydis_core.utils.logging.html b/v9.4.1/output/pydis_core.utils.logging.html
index 4aabc9c8..306f910f 100644
--- a/v9.4.1/output/pydis_core.utils.logging.html
+++ b/v9.4.1/output/pydis_core.utils.logging.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/output/pydis_core.utils.members.html b/v9.4.1/output/pydis_core.utils.members.html
index 5ca193bf..5446efb4 100644
--- a/v9.4.1/output/pydis_core.utils.members.html
+++ b/v9.4.1/output/pydis_core.utils.members.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/output/pydis_core.utils.regex.html b/v9.4.1/output/pydis_core.utils.regex.html
index 905fa06e..ab1c102b 100644
--- a/v9.4.1/output/pydis_core.utils.regex.html
+++ b/v9.4.1/output/pydis_core.utils.regex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/output/pydis_core.utils.scheduling.html b/v9.4.1/output/pydis_core.utils.scheduling.html
index 636247f7..d88464f0 100644
--- a/v9.4.1/output/pydis_core.utils.scheduling.html
+++ b/v9.4.1/output/pydis_core.utils.scheduling.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/py-modindex.html b/v9.4.1/py-modindex.html
index 7c775c3b..69722b52 100644
--- a/v9.4.1/py-modindex.html
+++ b/v9.4.1/py-modindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/search.html b/v9.4.1/search.html
index 29da2c42..ffa390af 100644
--- a/v9.4.1/search.html
+++ b/v9.4.1/search.html
@@ -271,6 +271,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.4.1/searchindex.js b/v9.4.1/searchindex.js
index a984ac50..90364691 100644
--- a/v9.4.1/searchindex.js
+++ b/v9.4.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "9": 0, "x": 0, "featur": [0, 1, 3], "releas": 0, "172": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "1": [0, 14], "4": 0, "0": [0, 8, 13, 14], "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "3": 0, "23rd": 0, "bug": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 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": {"Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "site_api": [[6, "module-pydis_core.site_api"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "members": [[15, "module-pydis_core.utils.members"]], "function": [[12, "module-pydis_core.utils.function"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "logging": [[14, "module-pydis_core.utils.logging"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "caching": [[8, "module-pydis_core.utils.caching"]], "commands": [[10, "module-pydis_core.utils.commands"]], "channel": [[9, "module-pydis_core.utils.channel"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "regex": [[16, "module-pydis_core.utils.regex"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "9": 0, "x": 0, "featur": [0, 1, 3], "releas": 0, "172": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "1": [0, 14], "4": 0, "0": [0, 8, 13, 14], "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "3": 0, "23rd": 0, "bug": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"site_api": [[6, "module-pydis_core.site_api"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Exts": [[5, "module-pydis_core.exts"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Changelog": [[0, "changelog"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "members": [[15, "module-pydis_core.utils.members"]], "function": [[12, "module-pydis_core.utils.function"]], "logging": [[14, "module-pydis_core.utils.logging"]], "channel": [[9, "module-pydis_core.utils.channel"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "commands": [[10, "module-pydis_core.utils.commands"]], "caching": [[8, "module-pydis_core.utils.caching"]], "regex": [[16, "module-pydis_core.utils.regex"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v9.4.1/versions.html b/v9.4.1/versions.html
index 1f51a72d..468dcb10 100644
--- a/v9.4.1/versions.html
+++ b/v9.4.1/versions.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -476,6 +480,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v9.5.0/.buildinfo b/v9.5.0/.buildinfo
index edf5b806..eaab7264 100644
--- a/v9.5.0/.buildinfo
+++ b/v9.5.0/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: cd2da685feca338ae250f53926a1d8be
+config: ebebb7616d90b3d44ecc2dfa0807856f
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v9.5.0/changelog.html b/v9.5.0/changelog.html
index 858ce908..a8077776 100644
--- a/v9.5.0/changelog.html
+++ b/v9.5.0/changelog.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/development.html b/v9.5.0/development.html
index 95cebb31..246d6e28 100644
--- a/v9.5.0/development.html
+++ b/v9.5.0/development.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/genindex.html b/v9.5.0/genindex.html
index 6d3f61db..09c82e79 100644
--- a/v9.5.0/genindex.html
+++ b/v9.5.0/genindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/index.html b/v9.5.0/index.html
index 9402e1c9..e1419531 100644
--- a/v9.5.0/index.html
+++ b/v9.5.0/index.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/output/pydis_core.async_stats.html b/v9.5.0/output/pydis_core.async_stats.html
index 5c23b990..4f1a8b35 100644
--- a/v9.5.0/output/pydis_core.async_stats.html
+++ b/v9.5.0/output/pydis_core.async_stats.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/output/pydis_core.exts.html b/v9.5.0/output/pydis_core.exts.html
index f2a84f95..83e7d68c 100644
--- a/v9.5.0/output/pydis_core.exts.html
+++ b/v9.5.0/output/pydis_core.exts.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/output/pydis_core.html b/v9.5.0/output/pydis_core.html
index 67736359..f89416f7 100644
--- a/v9.5.0/output/pydis_core.html
+++ b/v9.5.0/output/pydis_core.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/output/pydis_core.site_api.html b/v9.5.0/output/pydis_core.site_api.html
index 67a39c65..da2a3a12 100644
--- a/v9.5.0/output/pydis_core.site_api.html
+++ b/v9.5.0/output/pydis_core.site_api.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/output/pydis_core.utils.caching.html b/v9.5.0/output/pydis_core.utils.caching.html
index 7667db3d..e39fddf8 100644
--- a/v9.5.0/output/pydis_core.utils.caching.html
+++ b/v9.5.0/output/pydis_core.utils.caching.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/output/pydis_core.utils.channel.html b/v9.5.0/output/pydis_core.utils.channel.html
index 6ba0e82d..b00a2362 100644
--- a/v9.5.0/output/pydis_core.utils.channel.html
+++ b/v9.5.0/output/pydis_core.utils.channel.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/output/pydis_core.utils.commands.html b/v9.5.0/output/pydis_core.utils.commands.html
index 886c92ee..7cc55007 100644
--- a/v9.5.0/output/pydis_core.utils.commands.html
+++ b/v9.5.0/output/pydis_core.utils.commands.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/output/pydis_core.utils.cooldown.html b/v9.5.0/output/pydis_core.utils.cooldown.html
index c0df13c4..fdaddbc2 100644
--- a/v9.5.0/output/pydis_core.utils.cooldown.html
+++ b/v9.5.0/output/pydis_core.utils.cooldown.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/output/pydis_core.utils.function.html b/v9.5.0/output/pydis_core.utils.function.html
index 890c2d92..1f4a9b99 100644
--- a/v9.5.0/output/pydis_core.utils.function.html
+++ b/v9.5.0/output/pydis_core.utils.function.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/output/pydis_core.utils.html b/v9.5.0/output/pydis_core.utils.html
index 5167a207..b2dfd115 100644
--- a/v9.5.0/output/pydis_core.utils.html
+++ b/v9.5.0/output/pydis_core.utils.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/output/pydis_core.utils.interactions.html b/v9.5.0/output/pydis_core.utils.interactions.html
index 81c3f533..7e66a0a8 100644
--- a/v9.5.0/output/pydis_core.utils.interactions.html
+++ b/v9.5.0/output/pydis_core.utils.interactions.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/output/pydis_core.utils.logging.html b/v9.5.0/output/pydis_core.utils.logging.html
index 6be34ba7..47a2ec9a 100644
--- a/v9.5.0/output/pydis_core.utils.logging.html
+++ b/v9.5.0/output/pydis_core.utils.logging.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/output/pydis_core.utils.members.html b/v9.5.0/output/pydis_core.utils.members.html
index ec783661..552bdf8c 100644
--- a/v9.5.0/output/pydis_core.utils.members.html
+++ b/v9.5.0/output/pydis_core.utils.members.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/output/pydis_core.utils.regex.html b/v9.5.0/output/pydis_core.utils.regex.html
index 7cdb53c0..776641f9 100644
--- a/v9.5.0/output/pydis_core.utils.regex.html
+++ b/v9.5.0/output/pydis_core.utils.regex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/output/pydis_core.utils.scheduling.html b/v9.5.0/output/pydis_core.utils.scheduling.html
index 2f44015c..6ede97fa 100644
--- a/v9.5.0/output/pydis_core.utils.scheduling.html
+++ b/v9.5.0/output/pydis_core.utils.scheduling.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/py-modindex.html b/v9.5.0/py-modindex.html
index 0d050c79..fafe0509 100644
--- a/v9.5.0/py-modindex.html
+++ b/v9.5.0/py-modindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/search.html b/v9.5.0/search.html
index d7bbfb38..f61bfcb7 100644
--- a/v9.5.0/search.html
+++ b/v9.5.0/search.html
@@ -271,6 +271,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.5.0/searchindex.js b/v9.5.0/searchindex.js
index a5bbac64..00a61fb4 100644
--- a/v9.5.0/searchindex.js
+++ b/v9.5.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "5": [0, 11], "0": [0, 8, 13, 14], "28th": 0, "februari": 0, "2023": 0, "featur": [0, 1, 3], "172": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "1": [0, 14], "173": 0, "4": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "releas": 0, "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "3": 0, "23rd": 0, "bug": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 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": {"Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Exts": [[5, "module-pydis_core.exts"]], "site_api": [[6, "module-pydis_core.site_api"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Changelog": [[0, "changelog"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "function": [[12, "module-pydis_core.utils.function"]], "logging": [[14, "module-pydis_core.utils.logging"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "members": [[15, "module-pydis_core.utils.members"]], "caching": [[8, "module-pydis_core.utils.caching"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "commands": [[10, "module-pydis_core.utils.commands"]], "channel": [[9, "module-pydis_core.utils.channel"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "regex": [[16, "module-pydis_core.utils.regex"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "5": [0, 11], "0": [0, 8, 13, 14], "28th": 0, "februari": 0, "2023": 0, "featur": [0, 1, 3], "172": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "1": [0, 14], "173": 0, "4": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "releas": 0, "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "3": 0, "23rd": 0, "bug": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 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": {"Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Exts": [[5, "module-pydis_core.exts"]], "site_api": [[6, "module-pydis_core.site_api"]], "Changelog": [[0, "changelog"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "function": [[12, "module-pydis_core.utils.function"]], "logging": [[14, "module-pydis_core.utils.logging"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "members": [[15, "module-pydis_core.utils.members"]], "caching": [[8, "module-pydis_core.utils.caching"]], "commands": [[10, "module-pydis_core.utils.commands"]], "channel": [[9, "module-pydis_core.utils.channel"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "regex": [[16, "module-pydis_core.utils.regex"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v9.5.0/versions.html b/v9.5.0/versions.html
index 7d93e7e8..86dd0ec3 100644
--- a/v9.5.0/versions.html
+++ b/v9.5.0/versions.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -476,6 +480,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v9.5.1/.buildinfo b/v9.5.1/.buildinfo
index e6323377..3cd742f1 100644
--- a/v9.5.1/.buildinfo
+++ b/v9.5.1/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 08343d6ae8910285fe4072c4eea43e48
+config: ca1103fdddf6e855d993a4b959e5ee80
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v9.5.1/changelog.html b/v9.5.1/changelog.html
index 56c30f7f..df6f1a1a 100644
--- a/v9.5.1/changelog.html
+++ b/v9.5.1/changelog.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/development.html b/v9.5.1/development.html
index 9d4b34c8..4d02cc4d 100644
--- a/v9.5.1/development.html
+++ b/v9.5.1/development.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/genindex.html b/v9.5.1/genindex.html
index ca0e7f5d..4dac9c24 100644
--- a/v9.5.1/genindex.html
+++ b/v9.5.1/genindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/index.html b/v9.5.1/index.html
index 691b3af4..b2946f8a 100644
--- a/v9.5.1/index.html
+++ b/v9.5.1/index.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/output/pydis_core.async_stats.html b/v9.5.1/output/pydis_core.async_stats.html
index 18e39bc5..106f2343 100644
--- a/v9.5.1/output/pydis_core.async_stats.html
+++ b/v9.5.1/output/pydis_core.async_stats.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/output/pydis_core.exts.html b/v9.5.1/output/pydis_core.exts.html
index 43d21f24..accea633 100644
--- a/v9.5.1/output/pydis_core.exts.html
+++ b/v9.5.1/output/pydis_core.exts.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/output/pydis_core.html b/v9.5.1/output/pydis_core.html
index 2ff2ddaa..6b96427f 100644
--- a/v9.5.1/output/pydis_core.html
+++ b/v9.5.1/output/pydis_core.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/output/pydis_core.site_api.html b/v9.5.1/output/pydis_core.site_api.html
index e185aa63..68a717ab 100644
--- a/v9.5.1/output/pydis_core.site_api.html
+++ b/v9.5.1/output/pydis_core.site_api.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/output/pydis_core.utils.caching.html b/v9.5.1/output/pydis_core.utils.caching.html
index e277c0f9..36162f1c 100644
--- a/v9.5.1/output/pydis_core.utils.caching.html
+++ b/v9.5.1/output/pydis_core.utils.caching.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/output/pydis_core.utils.channel.html b/v9.5.1/output/pydis_core.utils.channel.html
index 30d5df50..9af6e350 100644
--- a/v9.5.1/output/pydis_core.utils.channel.html
+++ b/v9.5.1/output/pydis_core.utils.channel.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/output/pydis_core.utils.commands.html b/v9.5.1/output/pydis_core.utils.commands.html
index 592dcca9..956b2f46 100644
--- a/v9.5.1/output/pydis_core.utils.commands.html
+++ b/v9.5.1/output/pydis_core.utils.commands.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/output/pydis_core.utils.cooldown.html b/v9.5.1/output/pydis_core.utils.cooldown.html
index cb9272a8..784f16d8 100644
--- a/v9.5.1/output/pydis_core.utils.cooldown.html
+++ b/v9.5.1/output/pydis_core.utils.cooldown.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/output/pydis_core.utils.function.html b/v9.5.1/output/pydis_core.utils.function.html
index 5d42cc82..bc650109 100644
--- a/v9.5.1/output/pydis_core.utils.function.html
+++ b/v9.5.1/output/pydis_core.utils.function.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/output/pydis_core.utils.html b/v9.5.1/output/pydis_core.utils.html
index e147487f..c1752ff3 100644
--- a/v9.5.1/output/pydis_core.utils.html
+++ b/v9.5.1/output/pydis_core.utils.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/output/pydis_core.utils.interactions.html b/v9.5.1/output/pydis_core.utils.interactions.html
index f62f46ff..a7fa4b66 100644
--- a/v9.5.1/output/pydis_core.utils.interactions.html
+++ b/v9.5.1/output/pydis_core.utils.interactions.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/output/pydis_core.utils.logging.html b/v9.5.1/output/pydis_core.utils.logging.html
index 6936b5f8..aa328310 100644
--- a/v9.5.1/output/pydis_core.utils.logging.html
+++ b/v9.5.1/output/pydis_core.utils.logging.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/output/pydis_core.utils.members.html b/v9.5.1/output/pydis_core.utils.members.html
index 3aff2a1c..29dd1e1e 100644
--- a/v9.5.1/output/pydis_core.utils.members.html
+++ b/v9.5.1/output/pydis_core.utils.members.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/output/pydis_core.utils.regex.html b/v9.5.1/output/pydis_core.utils.regex.html
index c2e178eb..44991ba9 100644
--- a/v9.5.1/output/pydis_core.utils.regex.html
+++ b/v9.5.1/output/pydis_core.utils.regex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/output/pydis_core.utils.scheduling.html b/v9.5.1/output/pydis_core.utils.scheduling.html
index 3a64d2b2..4c799a18 100644
--- a/v9.5.1/output/pydis_core.utils.scheduling.html
+++ b/v9.5.1/output/pydis_core.utils.scheduling.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/py-modindex.html b/v9.5.1/py-modindex.html
index 4a038168..8c3dc1b5 100644
--- a/v9.5.1/py-modindex.html
+++ b/v9.5.1/py-modindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/search.html b/v9.5.1/search.html
index 1572f465..b52fb71d 100644
--- a/v9.5.1/search.html
+++ b/v9.5.1/search.html
@@ -271,6 +271,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.5.1/searchindex.js b/v9.5.1/searchindex.js
index e5e1d289..2117ba0b 100644
--- a/v9.5.1/searchindex.js
+++ b/v9.5.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "5": [0, 11], "1": [0, 14], "2nd": 0, "march": 0, "2023": 0, "bug": 0, "174": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "0": [0, 8, 13, 14], "28th": 0, "februari": 0, "featur": [0, 1, 3], "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "releas": 0, "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "3": 0, "23rd": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"site_api": [[6, "module-pydis_core.site_api"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Exts": [[5, "module-pydis_core.exts"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "members": [[15, "module-pydis_core.utils.members"]], "function": [[12, "module-pydis_core.utils.function"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "logging": [[14, "module-pydis_core.utils.logging"]], "caching": [[8, "module-pydis_core.utils.caching"]], "channel": [[9, "module-pydis_core.utils.channel"]], "commands": [[10, "module-pydis_core.utils.commands"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "regex": [[16, "module-pydis_core.utils.regex"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "5": [0, 11], "1": [0, 14], "2nd": 0, "march": 0, "2023": 0, "bug": 0, "174": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "0": [0, 8, 13, 14], "28th": 0, "februari": 0, "featur": [0, 1, 3], "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "releas": 0, "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "3": 0, "23rd": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 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": {"Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Exts": [[5, "module-pydis_core.exts"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "site_api": [[6, "module-pydis_core.site_api"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "function": [[12, "module-pydis_core.utils.function"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "logging": [[14, "module-pydis_core.utils.logging"]], "members": [[15, "module-pydis_core.utils.members"]], "caching": [[8, "module-pydis_core.utils.caching"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "commands": [[10, "module-pydis_core.utils.commands"]], "channel": [[9, "module-pydis_core.utils.channel"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "regex": [[16, "module-pydis_core.utils.regex"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v9.5.1/versions.html b/v9.5.1/versions.html
index a195632b..59632c8d 100644
--- a/v9.5.1/versions.html
+++ b/v9.5.1/versions.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -476,6 +480,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v9.6.0/.buildinfo b/v9.6.0/.buildinfo
index dfbb1678..61a05e85 100644
--- a/v9.6.0/.buildinfo
+++ b/v9.6.0/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 0f313e625de5ffa40cfaef305f72f3a0
+config: 964082593ebee81be26ef321cceab929
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v9.6.0/changelog.html b/v9.6.0/changelog.html
index ed83e536..bd70eeed 100644
--- a/v9.6.0/changelog.html
+++ b/v9.6.0/changelog.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/development.html b/v9.6.0/development.html
index b537c4ae..384f8e6d 100644
--- a/v9.6.0/development.html
+++ b/v9.6.0/development.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/genindex.html b/v9.6.0/genindex.html
index f978f879..aa2e86ab 100644
--- a/v9.6.0/genindex.html
+++ b/v9.6.0/genindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/index.html b/v9.6.0/index.html
index 944c1982..75f42693 100644
--- a/v9.6.0/index.html
+++ b/v9.6.0/index.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/output/pydis_core.async_stats.html b/v9.6.0/output/pydis_core.async_stats.html
index cff2edee..f6891e45 100644
--- a/v9.6.0/output/pydis_core.async_stats.html
+++ b/v9.6.0/output/pydis_core.async_stats.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/output/pydis_core.exts.html b/v9.6.0/output/pydis_core.exts.html
index d7157411..76bcd496 100644
--- a/v9.6.0/output/pydis_core.exts.html
+++ b/v9.6.0/output/pydis_core.exts.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/output/pydis_core.html b/v9.6.0/output/pydis_core.html
index 25015629..5f0e4c28 100644
--- a/v9.6.0/output/pydis_core.html
+++ b/v9.6.0/output/pydis_core.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/output/pydis_core.site_api.html b/v9.6.0/output/pydis_core.site_api.html
index 7bf69e6c..594f6eb1 100644
--- a/v9.6.0/output/pydis_core.site_api.html
+++ b/v9.6.0/output/pydis_core.site_api.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/output/pydis_core.utils.caching.html b/v9.6.0/output/pydis_core.utils.caching.html
index 6e3f5caa..93b18211 100644
--- a/v9.6.0/output/pydis_core.utils.caching.html
+++ b/v9.6.0/output/pydis_core.utils.caching.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/output/pydis_core.utils.channel.html b/v9.6.0/output/pydis_core.utils.channel.html
index 7fe12da9..7eed40da 100644
--- a/v9.6.0/output/pydis_core.utils.channel.html
+++ b/v9.6.0/output/pydis_core.utils.channel.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/output/pydis_core.utils.commands.html b/v9.6.0/output/pydis_core.utils.commands.html
index 7e61c00a..20da2b3c 100644
--- a/v9.6.0/output/pydis_core.utils.commands.html
+++ b/v9.6.0/output/pydis_core.utils.commands.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/output/pydis_core.utils.cooldown.html b/v9.6.0/output/pydis_core.utils.cooldown.html
index e3161183..fcc4fd2f 100644
--- a/v9.6.0/output/pydis_core.utils.cooldown.html
+++ b/v9.6.0/output/pydis_core.utils.cooldown.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/output/pydis_core.utils.function.html b/v9.6.0/output/pydis_core.utils.function.html
index ae85baf8..12e791d3 100644
--- a/v9.6.0/output/pydis_core.utils.function.html
+++ b/v9.6.0/output/pydis_core.utils.function.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/output/pydis_core.utils.html b/v9.6.0/output/pydis_core.utils.html
index 189553ed..b174f197 100644
--- a/v9.6.0/output/pydis_core.utils.html
+++ b/v9.6.0/output/pydis_core.utils.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/output/pydis_core.utils.interactions.html b/v9.6.0/output/pydis_core.utils.interactions.html
index d560e034..9ed0404d 100644
--- a/v9.6.0/output/pydis_core.utils.interactions.html
+++ b/v9.6.0/output/pydis_core.utils.interactions.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/output/pydis_core.utils.logging.html b/v9.6.0/output/pydis_core.utils.logging.html
index acbf6d22..31205e59 100644
--- a/v9.6.0/output/pydis_core.utils.logging.html
+++ b/v9.6.0/output/pydis_core.utils.logging.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/output/pydis_core.utils.members.html b/v9.6.0/output/pydis_core.utils.members.html
index 1a1dabcb..82cfbdca 100644
--- a/v9.6.0/output/pydis_core.utils.members.html
+++ b/v9.6.0/output/pydis_core.utils.members.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/output/pydis_core.utils.regex.html b/v9.6.0/output/pydis_core.utils.regex.html
index 8faf5485..94a4e3d7 100644
--- a/v9.6.0/output/pydis_core.utils.regex.html
+++ b/v9.6.0/output/pydis_core.utils.regex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/output/pydis_core.utils.scheduling.html b/v9.6.0/output/pydis_core.utils.scheduling.html
index ee56b86b..23096da4 100644
--- a/v9.6.0/output/pydis_core.utils.scheduling.html
+++ b/v9.6.0/output/pydis_core.utils.scheduling.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/py-modindex.html b/v9.6.0/py-modindex.html
index d2e60a9e..3773750d 100644
--- a/v9.6.0/py-modindex.html
+++ b/v9.6.0/py-modindex.html
@@ -272,6 +272,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/search.html b/v9.6.0/search.html
index e02a0a0f..b54f63c8 100644
--- a/v9.6.0/search.html
+++ b/v9.6.0/search.html
@@ -271,6 +271,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.6.0/searchindex.js b/v9.6.0/searchindex.js
index 3225b5be..aad2bcca 100644
--- a/v9.6.0/searchindex.js
+++ b/v9.6.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "6": 0, "0": [0, 8, 13, 14], "6th": 0, "mai": [0, 8], "2023": 0, "featur": [0, 1, 3], "175": 0, "log": [0, 3, 7, 15, 17], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "wait": [0, 3, 17], "guild": [0, 1, 3, 15], "avail": [0, 3], "befor": [0, 3, 13, 17], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "support": [0, 4, 7, 17], "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "3": 0, "5": [0, 11], "1": [0, 14], "2nd": 0, "march": 0, "bug": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "releas": 0, "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "23rd": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "17th": 0, "novemb": 0, "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 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": {"Exts": [[5, "module-pydis_core.exts"]], "site_api": [[6, "module-pydis_core.site_api"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Changelog": [[0, "changelog"]], "logging": [[14, "module-pydis_core.utils.logging"]], "members": [[15, "module-pydis_core.utils.members"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "function": [[12, "module-pydis_core.utils.function"]], "channel": [[9, "module-pydis_core.utils.channel"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "caching": [[8, "module-pydis_core.utils.caching"]], "commands": [[10, "module-pydis_core.utils.commands"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "regex": [[16, "module-pydis_core.utils.regex"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "6": 0, "0": [0, 8, 13, 14], "6th": 0, "mai": [0, 8], "2023": 0, "featur": [0, 1, 3], "175": 0, "log": [0, 3, 7, 15, 17], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "wait": [0, 3, 17], "guild": [0, 1, 3, 15], "avail": [0, 3], "befor": [0, 3, 13, 17], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "support": [0, 4, 7, 17], "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "3": 0, "5": [0, 11], "1": [0, 14], "2nd": 0, "march": 0, "bug": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "releas": 0, "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "23rd": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "17th": 0, "novemb": 0, "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "buttonstyl": 13, "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 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": {"Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "logging": [[14, "module-pydis_core.utils.logging"]], "function": [[12, "module-pydis_core.utils.function"]], "members": [[15, "module-pydis_core.utils.members"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "caching": [[8, "module-pydis_core.utils.caching"]], "channel": [[9, "module-pydis_core.utils.channel"]], "commands": [[10, "module-pydis_core.utils.commands"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "regex": [[16, "module-pydis_core.utils.regex"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v9.6.0/versions.html b/v9.6.0/versions.html
index 7f59e073..3724daa6 100644
--- a/v9.6.0/versions.html
+++ b/v9.6.0/versions.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -476,6 +480,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v9.7.0/.buildinfo b/v9.7.0/.buildinfo
index 8ba11b1d..2c46fafe 100644
--- a/v9.7.0/.buildinfo
+++ b/v9.7.0/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 9a7ea3564d035e136ecc3d3539760e8c
+config: c8d0ec905ba4fd560d5a9ef8ab192f3e
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v9.7.0/changelog.html b/v9.7.0/changelog.html
index 3131ea29..c317abfc 100644
--- a/v9.7.0/changelog.html
+++ b/v9.7.0/changelog.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/development.html b/v9.7.0/development.html
index 89948bc3..a3e3558b 100644
--- a/v9.7.0/development.html
+++ b/v9.7.0/development.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/genindex.html b/v9.7.0/genindex.html
index a8dec11c..6fd80fc2 100644
--- a/v9.7.0/genindex.html
+++ b/v9.7.0/genindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/index.html b/v9.7.0/index.html
index 93709567..b206362b 100644
--- a/v9.7.0/index.html
+++ b/v9.7.0/index.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/output/pydis_core.async_stats.html b/v9.7.0/output/pydis_core.async_stats.html
index 6fc703ea..cdded49c 100644
--- a/v9.7.0/output/pydis_core.async_stats.html
+++ b/v9.7.0/output/pydis_core.async_stats.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/output/pydis_core.exts.html b/v9.7.0/output/pydis_core.exts.html
index b33cdb1d..f74370a8 100644
--- a/v9.7.0/output/pydis_core.exts.html
+++ b/v9.7.0/output/pydis_core.exts.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/output/pydis_core.html b/v9.7.0/output/pydis_core.html
index a28fae5b..786ac608 100644
--- a/v9.7.0/output/pydis_core.html
+++ b/v9.7.0/output/pydis_core.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/output/pydis_core.site_api.html b/v9.7.0/output/pydis_core.site_api.html
index 0388caf6..7cdaaa3a 100644
--- a/v9.7.0/output/pydis_core.site_api.html
+++ b/v9.7.0/output/pydis_core.site_api.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/output/pydis_core.utils.caching.html b/v9.7.0/output/pydis_core.utils.caching.html
index 7acf24ae..3b6d3166 100644
--- a/v9.7.0/output/pydis_core.utils.caching.html
+++ b/v9.7.0/output/pydis_core.utils.caching.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/output/pydis_core.utils.channel.html b/v9.7.0/output/pydis_core.utils.channel.html
index 61841f3a..c8cbfdc2 100644
--- a/v9.7.0/output/pydis_core.utils.channel.html
+++ b/v9.7.0/output/pydis_core.utils.channel.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/output/pydis_core.utils.commands.html b/v9.7.0/output/pydis_core.utils.commands.html
index c21f09ef..262b02fe 100644
--- a/v9.7.0/output/pydis_core.utils.commands.html
+++ b/v9.7.0/output/pydis_core.utils.commands.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/output/pydis_core.utils.cooldown.html b/v9.7.0/output/pydis_core.utils.cooldown.html
index 0a6d273b..11cf819e 100644
--- a/v9.7.0/output/pydis_core.utils.cooldown.html
+++ b/v9.7.0/output/pydis_core.utils.cooldown.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/output/pydis_core.utils.error_handling.html b/v9.7.0/output/pydis_core.utils.error_handling.html
index 77764fb2..d21827d8 100644
--- a/v9.7.0/output/pydis_core.utils.error_handling.html
+++ b/v9.7.0/output/pydis_core.utils.error_handling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/output/pydis_core.utils.function.html b/v9.7.0/output/pydis_core.utils.function.html
index 25d142c2..08f9343c 100644
--- a/v9.7.0/output/pydis_core.utils.function.html
+++ b/v9.7.0/output/pydis_core.utils.function.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/output/pydis_core.utils.html b/v9.7.0/output/pydis_core.utils.html
index a9b31b2e..8d9bed8a 100644
--- a/v9.7.0/output/pydis_core.utils.html
+++ b/v9.7.0/output/pydis_core.utils.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/output/pydis_core.utils.interactions.html b/v9.7.0/output/pydis_core.utils.interactions.html
index c522230f..15528ecb 100644
--- a/v9.7.0/output/pydis_core.utils.interactions.html
+++ b/v9.7.0/output/pydis_core.utils.interactions.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/output/pydis_core.utils.logging.html b/v9.7.0/output/pydis_core.utils.logging.html
index d9d2364d..1ae7bf45 100644
--- a/v9.7.0/output/pydis_core.utils.logging.html
+++ b/v9.7.0/output/pydis_core.utils.logging.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/output/pydis_core.utils.members.html b/v9.7.0/output/pydis_core.utils.members.html
index 5473ae6f..d922daf3 100644
--- a/v9.7.0/output/pydis_core.utils.members.html
+++ b/v9.7.0/output/pydis_core.utils.members.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/output/pydis_core.utils.paste_service.html b/v9.7.0/output/pydis_core.utils.paste_service.html
index c0baebad..a401b075 100644
--- a/v9.7.0/output/pydis_core.utils.paste_service.html
+++ b/v9.7.0/output/pydis_core.utils.paste_service.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/output/pydis_core.utils.regex.html b/v9.7.0/output/pydis_core.utils.regex.html
index c539095e..9d812cc8 100644
--- a/v9.7.0/output/pydis_core.utils.regex.html
+++ b/v9.7.0/output/pydis_core.utils.regex.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/output/pydis_core.utils.scheduling.html b/v9.7.0/output/pydis_core.utils.scheduling.html
index bf3c119c..88e5fdc3 100644
--- a/v9.7.0/output/pydis_core.utils.scheduling.html
+++ b/v9.7.0/output/pydis_core.utils.scheduling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/py-modindex.html b/v9.7.0/py-modindex.html
index 8fcca6ae..349158ee 100644
--- a/v9.7.0/py-modindex.html
+++ b/v9.7.0/py-modindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/search.html b/v9.7.0/search.html
index 102528be..7fbb1a6c 100644
--- a/v9.7.0/search.html
+++ b/v9.7.0/search.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.7.0/searchindex.js b/v9.7.0/searchindex.js
index 67dabd94..f4637c65 100644
--- a/v9.7.0/searchindex.js
+++ b/v9.7.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "7": 0, "0": [0, 8, 14, 15], "10th": 0, "june": 0, "2023": 0, "featur": [0, 1, 3], "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "add": [0, 3, 11], "past": [0, 17, 19], "servic": [0, 1, 3, 17], "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "support": [0, 4, 7, 19], "bump": 0, "py": [0, 13], "2": [0, 3, 14], "3": 0, "5": [0, 11], "1": [0, 15], "2nd": 0, "march": 0, "bug": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 13], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "http": [0, 6, 18], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "url": [0, 3, 6, 17], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "label": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "131072": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "encount": 17, "paste_url": 17, "file_nam": 17, "lexer": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"caching": [[8, "module-pydis_core.utils.caching"]], "Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "channel": [[9, "module-pydis_core.utils.channel"]], "site_api": [[6, "module-pydis_core.site_api"]], "logging": [[15, "module-pydis_core.utils.logging"]], "members": [[16, "module-pydis_core.utils.members"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "regex": [[18, "module-pydis_core.utils.regex"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "commands": [[10, "module-pydis_core.utils.commands"]], "function": [[13, "module-pydis_core.utils.function"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "7": 0, "0": [0, 8, 14, 15], "10th": 0, "june": 0, "2023": 0, "featur": [0, 1, 3], "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "add": [0, 3, 11], "past": [0, 17, 19], "servic": [0, 1, 3, 17], "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "support": [0, 4, 7, 19], "bump": 0, "py": [0, 13], "2": [0, 3, 14], "3": 0, "5": [0, 11], "1": [0, 15], "2nd": 0, "march": 0, "bug": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 13], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "http": [0, 6, 18], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "url": [0, 3, 6, 17], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "label": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "131072": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "encount": 17, "paste_url": 17, "file_nam": 17, "lexer": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"caching": [[8, "module-pydis_core.utils.caching"]], "site_api": [[6, "module-pydis_core.site_api"]], "Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "channel": [[9, "module-pydis_core.utils.channel"]], "regex": [[18, "module-pydis_core.utils.regex"]], "logging": [[15, "module-pydis_core.utils.logging"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "members": [[16, "module-pydis_core.utils.members"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "function": [[13, "module-pydis_core.utils.function"]], "commands": [[10, "module-pydis_core.utils.commands"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "interactions": [[14, "module-pydis_core.utils.interactions"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v9.7.0/versions.html b/v9.7.0/versions.html
index 453a1435..5c2697e1 100644
--- a/v9.7.0/versions.html
+++ b/v9.7.0/versions.html
@@ -275,6 +275,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -478,6 +482,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v9.8.0/.buildinfo b/v9.8.0/.buildinfo
index 9bcbb757..0f83890f 100644
--- a/v9.8.0/.buildinfo
+++ b/v9.8.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: 5670a7b9caeaed59a317f6267208a175
+config: 179ccac9bcf3f1ea4ab6d0c6fde78ef7
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v9.8.0/changelog.html b/v9.8.0/changelog.html
index 4e34ac91..e612a12c 100644
--- a/v9.8.0/changelog.html
+++ b/v9.8.0/changelog.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/development.html b/v9.8.0/development.html
index 101862e4..ae98fe3a 100644
--- a/v9.8.0/development.html
+++ b/v9.8.0/development.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/genindex.html b/v9.8.0/genindex.html
index 47976e84..647fd2c8 100644
--- a/v9.8.0/genindex.html
+++ b/v9.8.0/genindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/index.html b/v9.8.0/index.html
index bbaceaa1..c5f9fe20 100644
--- a/v9.8.0/index.html
+++ b/v9.8.0/index.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/output/pydis_core.async_stats.html b/v9.8.0/output/pydis_core.async_stats.html
index d8beb3cf..f08de3d5 100644
--- a/v9.8.0/output/pydis_core.async_stats.html
+++ b/v9.8.0/output/pydis_core.async_stats.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/output/pydis_core.exts.html b/v9.8.0/output/pydis_core.exts.html
index e488e870..5a6825cb 100644
--- a/v9.8.0/output/pydis_core.exts.html
+++ b/v9.8.0/output/pydis_core.exts.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/output/pydis_core.html b/v9.8.0/output/pydis_core.html
index d263f88e..0b6911f2 100644
--- a/v9.8.0/output/pydis_core.html
+++ b/v9.8.0/output/pydis_core.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/output/pydis_core.site_api.html b/v9.8.0/output/pydis_core.site_api.html
index 37e5fa8c..2d10a952 100644
--- a/v9.8.0/output/pydis_core.site_api.html
+++ b/v9.8.0/output/pydis_core.site_api.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/output/pydis_core.utils.caching.html b/v9.8.0/output/pydis_core.utils.caching.html
index 9865310b..c4e1fc4d 100644
--- a/v9.8.0/output/pydis_core.utils.caching.html
+++ b/v9.8.0/output/pydis_core.utils.caching.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/output/pydis_core.utils.channel.html b/v9.8.0/output/pydis_core.utils.channel.html
index ffafe189..bde2fc17 100644
--- a/v9.8.0/output/pydis_core.utils.channel.html
+++ b/v9.8.0/output/pydis_core.utils.channel.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/output/pydis_core.utils.commands.html b/v9.8.0/output/pydis_core.utils.commands.html
index 5cfc3c41..f682022f 100644
--- a/v9.8.0/output/pydis_core.utils.commands.html
+++ b/v9.8.0/output/pydis_core.utils.commands.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/output/pydis_core.utils.cooldown.html b/v9.8.0/output/pydis_core.utils.cooldown.html
index f7a0fe94..d7821dae 100644
--- a/v9.8.0/output/pydis_core.utils.cooldown.html
+++ b/v9.8.0/output/pydis_core.utils.cooldown.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/output/pydis_core.utils.error_handling.html b/v9.8.0/output/pydis_core.utils.error_handling.html
index 12f51517..28861bd6 100644
--- a/v9.8.0/output/pydis_core.utils.error_handling.html
+++ b/v9.8.0/output/pydis_core.utils.error_handling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/output/pydis_core.utils.function.html b/v9.8.0/output/pydis_core.utils.function.html
index ead5daec..c60d7c5e 100644
--- a/v9.8.0/output/pydis_core.utils.function.html
+++ b/v9.8.0/output/pydis_core.utils.function.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/output/pydis_core.utils.html b/v9.8.0/output/pydis_core.utils.html
index c469c3e8..9b68d1b6 100644
--- a/v9.8.0/output/pydis_core.utils.html
+++ b/v9.8.0/output/pydis_core.utils.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/output/pydis_core.utils.interactions.html b/v9.8.0/output/pydis_core.utils.interactions.html
index 0e8e7057..d58b37dc 100644
--- a/v9.8.0/output/pydis_core.utils.interactions.html
+++ b/v9.8.0/output/pydis_core.utils.interactions.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/output/pydis_core.utils.logging.html b/v9.8.0/output/pydis_core.utils.logging.html
index 7e1b304c..a078bda6 100644
--- a/v9.8.0/output/pydis_core.utils.logging.html
+++ b/v9.8.0/output/pydis_core.utils.logging.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/output/pydis_core.utils.members.html b/v9.8.0/output/pydis_core.utils.members.html
index b219f4e7..21215557 100644
--- a/v9.8.0/output/pydis_core.utils.members.html
+++ b/v9.8.0/output/pydis_core.utils.members.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/output/pydis_core.utils.paste_service.html b/v9.8.0/output/pydis_core.utils.paste_service.html
index 0d0f4d66..2d1edaa3 100644
--- a/v9.8.0/output/pydis_core.utils.paste_service.html
+++ b/v9.8.0/output/pydis_core.utils.paste_service.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/output/pydis_core.utils.regex.html b/v9.8.0/output/pydis_core.utils.regex.html
index a6ea90e9..34dbb88d 100644
--- a/v9.8.0/output/pydis_core.utils.regex.html
+++ b/v9.8.0/output/pydis_core.utils.regex.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/output/pydis_core.utils.scheduling.html b/v9.8.0/output/pydis_core.utils.scheduling.html
index 9641311b..79f3abcf 100644
--- a/v9.8.0/output/pydis_core.utils.scheduling.html
+++ b/v9.8.0/output/pydis_core.utils.scheduling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/py-modindex.html b/v9.8.0/py-modindex.html
index cd5c0cac..3b57094d 100644
--- a/v9.8.0/py-modindex.html
+++ b/v9.8.0/py-modindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/search.html b/v9.8.0/search.html
index 717a3300..1d3ecdc8 100644
--- a/v9.8.0/search.html
+++ b/v9.8.0/search.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.8.0/searchindex.js b/v9.8.0/searchindex.js
index 3ffec4b0..108c3142 100644
--- a/v9.8.0/searchindex.js
+++ b/v9.8.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "8": 0, "0": [0, 8, 14, 15], "13th": 0, "june": 0, "2023": 0, "support": [0, 4, 7, 19], "181": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "py": [0, 13], "2": [0, 3, 14], "3": 0, "7": 0, "10th": 0, "featur": [0, 1, 3], "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "add": [0, 3, 11], "past": [0, 17, 19], "servic": [0, 1, 3, 17], "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "5": [0, 11], "1": [0, 15], "2nd": 0, "march": 0, "bug": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "pypi": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 13], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "http": [0, 6, 18], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "url": [0, 3, 6, 17], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "label": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "131072": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "encount": 17, "paste_url": 17, "file_nam": 17, "lexer": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"site_api": [[6, "module-pydis_core.site_api"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Exts": [[5, "module-pydis_core.exts"]], "caching": [[8, "module-pydis_core.utils.caching"]], "channel": [[9, "module-pydis_core.utils.channel"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "members": [[16, "module-pydis_core.utils.members"]], "logging": [[15, "module-pydis_core.utils.logging"]], "regex": [[18, "module-pydis_core.utils.regex"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "function": [[13, "module-pydis_core.utils.function"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "commands": [[10, "module-pydis_core.utils.commands"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "8": 0, "0": [0, 8, 14, 15], "13th": 0, "june": 0, "2023": 0, "support": [0, 4, 7, 19], "181": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "py": [0, 13], "2": [0, 3, 14], "3": 0, "7": 0, "10th": 0, "featur": [0, 1, 3], "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "add": [0, 3, 11], "past": [0, 17, 19], "servic": [0, 1, 3, 17], "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "5": [0, 11], "1": [0, 15], "2nd": 0, "march": 0, "bug": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "pypi": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 13], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "http": [0, 6, 18], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "url": [0, 3, 6, 17], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "label": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "131072": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "encount": 17, "paste_url": 17, "file_nam": 17, "lexer": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 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": {"Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "caching": [[8, "module-pydis_core.utils.caching"]], "channel": [[9, "module-pydis_core.utils.channel"]], "site_api": [[6, "module-pydis_core.site_api"]], "regex": [[18, "module-pydis_core.utils.regex"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "members": [[16, "module-pydis_core.utils.members"]], "logging": [[15, "module-pydis_core.utils.logging"]], "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"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "commands": [[10, "module-pydis_core.utils.commands"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "function": [[13, "module-pydis_core.utils.function"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v9.8.0/versions.html b/v9.8.0/versions.html
index 8606f022..67df976c 100644
--- a/v9.8.0/versions.html
+++ b/v9.8.0/versions.html
@@ -275,6 +275,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -478,6 +482,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v9.9.0/.buildinfo b/v9.9.0/.buildinfo
index 50394cf2..0b462b1e 100644
--- a/v9.9.0/.buildinfo
+++ b/v9.9.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: ba631c3297ea4092e94a845c2e167e06
+config: d1002b2ee98863a52e8e334c6bb08d41
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v9.9.0/changelog.html b/v9.9.0/changelog.html
index ae8ecdab..a97d6514 100644
--- a/v9.9.0/changelog.html
+++ b/v9.9.0/changelog.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/development.html b/v9.9.0/development.html
index fc955624..9356bbcf 100644
--- a/v9.9.0/development.html
+++ b/v9.9.0/development.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/genindex.html b/v9.9.0/genindex.html
index 725b0f7a..7eeef3d6 100644
--- a/v9.9.0/genindex.html
+++ b/v9.9.0/genindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/index.html b/v9.9.0/index.html
index 748423a4..27c0766e 100644
--- a/v9.9.0/index.html
+++ b/v9.9.0/index.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/output/pydis_core.async_stats.html b/v9.9.0/output/pydis_core.async_stats.html
index ed6a02fb..d7e92ab0 100644
--- a/v9.9.0/output/pydis_core.async_stats.html
+++ b/v9.9.0/output/pydis_core.async_stats.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/output/pydis_core.exts.html b/v9.9.0/output/pydis_core.exts.html
index dc5623b1..a9f7e8ec 100644
--- a/v9.9.0/output/pydis_core.exts.html
+++ b/v9.9.0/output/pydis_core.exts.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/output/pydis_core.html b/v9.9.0/output/pydis_core.html
index 423de94f..484495ce 100644
--- a/v9.9.0/output/pydis_core.html
+++ b/v9.9.0/output/pydis_core.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/output/pydis_core.site_api.html b/v9.9.0/output/pydis_core.site_api.html
index ac7debe7..11e80416 100644
--- a/v9.9.0/output/pydis_core.site_api.html
+++ b/v9.9.0/output/pydis_core.site_api.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/output/pydis_core.utils.caching.html b/v9.9.0/output/pydis_core.utils.caching.html
index cfb9a2de..75c79587 100644
--- a/v9.9.0/output/pydis_core.utils.caching.html
+++ b/v9.9.0/output/pydis_core.utils.caching.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/output/pydis_core.utils.channel.html b/v9.9.0/output/pydis_core.utils.channel.html
index 681ab935..b9ed7a4c 100644
--- a/v9.9.0/output/pydis_core.utils.channel.html
+++ b/v9.9.0/output/pydis_core.utils.channel.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/output/pydis_core.utils.commands.html b/v9.9.0/output/pydis_core.utils.commands.html
index dcb57db4..2aeb3981 100644
--- a/v9.9.0/output/pydis_core.utils.commands.html
+++ b/v9.9.0/output/pydis_core.utils.commands.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/output/pydis_core.utils.cooldown.html b/v9.9.0/output/pydis_core.utils.cooldown.html
index 1dd82187..1169ecc3 100644
--- a/v9.9.0/output/pydis_core.utils.cooldown.html
+++ b/v9.9.0/output/pydis_core.utils.cooldown.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/output/pydis_core.utils.error_handling.html b/v9.9.0/output/pydis_core.utils.error_handling.html
index a71b2743..0e78e075 100644
--- a/v9.9.0/output/pydis_core.utils.error_handling.html
+++ b/v9.9.0/output/pydis_core.utils.error_handling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/output/pydis_core.utils.function.html b/v9.9.0/output/pydis_core.utils.function.html
index 815fbd2b..ab2fd6b9 100644
--- a/v9.9.0/output/pydis_core.utils.function.html
+++ b/v9.9.0/output/pydis_core.utils.function.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/output/pydis_core.utils.html b/v9.9.0/output/pydis_core.utils.html
index bb27b7fb..8ba4cece 100644
--- a/v9.9.0/output/pydis_core.utils.html
+++ b/v9.9.0/output/pydis_core.utils.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/output/pydis_core.utils.interactions.html b/v9.9.0/output/pydis_core.utils.interactions.html
index 1e678b71..c2331438 100644
--- a/v9.9.0/output/pydis_core.utils.interactions.html
+++ b/v9.9.0/output/pydis_core.utils.interactions.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/output/pydis_core.utils.logging.html b/v9.9.0/output/pydis_core.utils.logging.html
index 121daab5..6d6be540 100644
--- a/v9.9.0/output/pydis_core.utils.logging.html
+++ b/v9.9.0/output/pydis_core.utils.logging.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/output/pydis_core.utils.members.html b/v9.9.0/output/pydis_core.utils.members.html
index d7b28d4f..4426d59e 100644
--- a/v9.9.0/output/pydis_core.utils.members.html
+++ b/v9.9.0/output/pydis_core.utils.members.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/output/pydis_core.utils.paste_service.html b/v9.9.0/output/pydis_core.utils.paste_service.html
index d31283bf..69d09718 100644
--- a/v9.9.0/output/pydis_core.utils.paste_service.html
+++ b/v9.9.0/output/pydis_core.utils.paste_service.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/output/pydis_core.utils.regex.html b/v9.9.0/output/pydis_core.utils.regex.html
index 5d732f7c..3f15f468 100644
--- a/v9.9.0/output/pydis_core.utils.regex.html
+++ b/v9.9.0/output/pydis_core.utils.regex.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/output/pydis_core.utils.scheduling.html b/v9.9.0/output/pydis_core.utils.scheduling.html
index 3905efc3..f565e86d 100644
--- a/v9.9.0/output/pydis_core.utils.scheduling.html
+++ b/v9.9.0/output/pydis_core.utils.scheduling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/py-modindex.html b/v9.9.0/py-modindex.html
index 30ede501..429ec245 100644
--- a/v9.9.0/py-modindex.html
+++ b/v9.9.0/py-modindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/search.html b/v9.9.0/search.html
index 0e3eb940..02b3e06d 100644
--- a/v9.9.0/search.html
+++ b/v9.9.0/search.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.9.0/searchindex.js b/v9.9.0/searchindex.js
index 40a3b6c0..3698b100 100644
--- a/v9.9.0/searchindex.js
+++ b/v9.9.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "0": [0, 8, 14, 15], "18th": 0, "june": 0, "2023": 0, "featur": [0, 1, 3], "182": 0, "add": [0, 3, 11], "support": [0, 4, 7, 19], "lexer": [0, 17], "valid": 0, "past": [0, 17, 19], "servic": [0, 1, 3, 17], "default": [0, 1], "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "py": [0, 13], "2": [0, 3, 14], "3": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "5": [0, 11], "1": [0, 15], "2nd": 0, "march": 0, "bug": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "pypi": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 13], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "label": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "file_nam": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 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": {"channel": [[9, "module-pydis_core.utils.channel"]], "Exts": [[5, "module-pydis_core.exts"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "logging": [[15, "module-pydis_core.utils.logging"]], "regex": [[18, "module-pydis_core.utils.regex"]], "members": [[16, "module-pydis_core.utils.members"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "function": [[13, "module-pydis_core.utils.function"]], "commands": [[10, "module-pydis_core.utils.commands"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "0": [0, 8, 14, 15], "18th": 0, "june": 0, "2023": 0, "featur": [0, 1, 3], "182": 0, "add": [0, 3, 11], "support": [0, 4, 7, 19], "lexer": [0, 17], "valid": 0, "past": [0, 17, 19], "servic": [0, 1, 3, 17], "default": [0, 1], "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "py": [0, 13], "2": [0, 3, 14], "3": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "5": [0, 11], "1": [0, 15], "2nd": 0, "march": 0, "bug": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "pypi": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 13], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "label": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "file_nam": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 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": {"Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "channel": [[9, "module-pydis_core.utils.channel"]], "Exts": [[5, "module-pydis_core.exts"]], "caching": [[8, "module-pydis_core.utils.caching"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "regex": [[18, "module-pydis_core.utils.regex"]], "members": [[16, "module-pydis_core.utils.members"]], "logging": [[15, "module-pydis_core.utils.logging"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "commands": [[10, "module-pydis_core.utils.commands"]], "function": [[13, "module-pydis_core.utils.function"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v9.9.0/versions.html b/v9.9.0/versions.html
index b748f817..5e894c8b 100644
--- a/v9.9.0/versions.html
+++ b/v9.9.0/versions.html
@@ -275,6 +275,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -478,6 +482,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v9.9.1/.buildinfo b/v9.9.1/.buildinfo
index ecfc43d5..59f51efd 100644
--- a/v9.9.1/.buildinfo
+++ b/v9.9.1/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 43cd8e38748ecaba3752be8e89606a89
+config: 37eb6b599d9c32c40a3bc250d0891baf
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v9.9.1/changelog.html b/v9.9.1/changelog.html
index 50796f90..e17dfb81 100644
--- a/v9.9.1/changelog.html
+++ b/v9.9.1/changelog.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/development.html b/v9.9.1/development.html
index 1d1f4867..a63cfbf0 100644
--- a/v9.9.1/development.html
+++ b/v9.9.1/development.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/genindex.html b/v9.9.1/genindex.html
index 6082a6e8..24fd1cd2 100644
--- a/v9.9.1/genindex.html
+++ b/v9.9.1/genindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/index.html b/v9.9.1/index.html
index 0034fb99..e3fce6cd 100644
--- a/v9.9.1/index.html
+++ b/v9.9.1/index.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/output/pydis_core.async_stats.html b/v9.9.1/output/pydis_core.async_stats.html
index 1dec38fe..f143ae2d 100644
--- a/v9.9.1/output/pydis_core.async_stats.html
+++ b/v9.9.1/output/pydis_core.async_stats.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/output/pydis_core.exts.html b/v9.9.1/output/pydis_core.exts.html
index de55859c..aa4c56d2 100644
--- a/v9.9.1/output/pydis_core.exts.html
+++ b/v9.9.1/output/pydis_core.exts.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/output/pydis_core.html b/v9.9.1/output/pydis_core.html
index 54456e6d..d37eada0 100644
--- a/v9.9.1/output/pydis_core.html
+++ b/v9.9.1/output/pydis_core.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/output/pydis_core.site_api.html b/v9.9.1/output/pydis_core.site_api.html
index fca58f66..a5fb8d81 100644
--- a/v9.9.1/output/pydis_core.site_api.html
+++ b/v9.9.1/output/pydis_core.site_api.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/output/pydis_core.utils.caching.html b/v9.9.1/output/pydis_core.utils.caching.html
index c9c223cf..2a6ca680 100644
--- a/v9.9.1/output/pydis_core.utils.caching.html
+++ b/v9.9.1/output/pydis_core.utils.caching.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/output/pydis_core.utils.channel.html b/v9.9.1/output/pydis_core.utils.channel.html
index 55c899ff..797f80e3 100644
--- a/v9.9.1/output/pydis_core.utils.channel.html
+++ b/v9.9.1/output/pydis_core.utils.channel.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/output/pydis_core.utils.commands.html b/v9.9.1/output/pydis_core.utils.commands.html
index 8e86f71f..c3167acd 100644
--- a/v9.9.1/output/pydis_core.utils.commands.html
+++ b/v9.9.1/output/pydis_core.utils.commands.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/output/pydis_core.utils.cooldown.html b/v9.9.1/output/pydis_core.utils.cooldown.html
index addf701d..d6acddaa 100644
--- a/v9.9.1/output/pydis_core.utils.cooldown.html
+++ b/v9.9.1/output/pydis_core.utils.cooldown.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/output/pydis_core.utils.error_handling.html b/v9.9.1/output/pydis_core.utils.error_handling.html
index ec975c1f..49bad304 100644
--- a/v9.9.1/output/pydis_core.utils.error_handling.html
+++ b/v9.9.1/output/pydis_core.utils.error_handling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/output/pydis_core.utils.function.html b/v9.9.1/output/pydis_core.utils.function.html
index 0a6fab36..b8a5e5a0 100644
--- a/v9.9.1/output/pydis_core.utils.function.html
+++ b/v9.9.1/output/pydis_core.utils.function.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/output/pydis_core.utils.html b/v9.9.1/output/pydis_core.utils.html
index cfbc50cf..d7bfcdaa 100644
--- a/v9.9.1/output/pydis_core.utils.html
+++ b/v9.9.1/output/pydis_core.utils.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/output/pydis_core.utils.interactions.html b/v9.9.1/output/pydis_core.utils.interactions.html
index 0e3d9e56..8cf3d159 100644
--- a/v9.9.1/output/pydis_core.utils.interactions.html
+++ b/v9.9.1/output/pydis_core.utils.interactions.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/output/pydis_core.utils.logging.html b/v9.9.1/output/pydis_core.utils.logging.html
index b583d58a..5591a083 100644
--- a/v9.9.1/output/pydis_core.utils.logging.html
+++ b/v9.9.1/output/pydis_core.utils.logging.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/output/pydis_core.utils.members.html b/v9.9.1/output/pydis_core.utils.members.html
index b42df2b2..1795d6b7 100644
--- a/v9.9.1/output/pydis_core.utils.members.html
+++ b/v9.9.1/output/pydis_core.utils.members.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/output/pydis_core.utils.paste_service.html b/v9.9.1/output/pydis_core.utils.paste_service.html
index 10717f42..00e40ebc 100644
--- a/v9.9.1/output/pydis_core.utils.paste_service.html
+++ b/v9.9.1/output/pydis_core.utils.paste_service.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/output/pydis_core.utils.regex.html b/v9.9.1/output/pydis_core.utils.regex.html
index ec18b5cf..6320487d 100644
--- a/v9.9.1/output/pydis_core.utils.regex.html
+++ b/v9.9.1/output/pydis_core.utils.regex.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/output/pydis_core.utils.scheduling.html b/v9.9.1/output/pydis_core.utils.scheduling.html
index ac0a8359..280c2649 100644
--- a/v9.9.1/output/pydis_core.utils.scheduling.html
+++ b/v9.9.1/output/pydis_core.utils.scheduling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/py-modindex.html b/v9.9.1/py-modindex.html
index c2bf7925..c00b1c1d 100644
--- a/v9.9.1/py-modindex.html
+++ b/v9.9.1/py-modindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/search.html b/v9.9.1/search.html
index b9f4bf3f..c8535888 100644
--- a/v9.9.1/search.html
+++ b/v9.9.1/search.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.9.1/searchindex.js b/v9.9.1/searchindex.js
index a7da57ec..a92148a6 100644
--- a/v9.9.1/searchindex.js
+++ b/v9.9.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "0": [0, 8, 14, 15], "22th": 0, "june": 0, "2023": 0, "bug": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "featur": [0, 1, 3], "182": 0, "add": [0, 3, 11], "support": [0, 4, 7, 19], "lexer": [0, 17], "valid": 0, "past": [0, 17, 19], "servic": [0, 1, 3, 17], "default": [0, 1], "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "py": [0, 13], "2": [0, 3, 14], "3": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "5": [0, 11], "1": [0, 15], "2nd": 0, "march": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 13], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "label": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "file_nam": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"caching": [[8, "module-pydis_core.utils.caching"]], "Exts": [[5, "module-pydis_core.exts"]], "site_api": [[6, "module-pydis_core.site_api"]], "channel": [[9, "module-pydis_core.utils.channel"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Changelog": [[0, "changelog"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "regex": [[18, "module-pydis_core.utils.regex"]], "members": [[16, "module-pydis_core.utils.members"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "logging": [[15, "module-pydis_core.utils.logging"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "function": [[13, "module-pydis_core.utils.function"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "commands": [[10, "module-pydis_core.utils.commands"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "0": [0, 8, 14, 15], "22th": 0, "june": 0, "2023": 0, "bug": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "featur": [0, 1, 3], "182": 0, "add": [0, 3, 11], "support": [0, 4, 7, 19], "lexer": [0, 17], "valid": 0, "past": [0, 17, 19], "servic": [0, 1, 3, 17], "default": [0, 1], "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "py": [0, 13], "2": [0, 3, 14], "3": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "5": [0, 11], "1": [0, 15], "2nd": 0, "march": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 13], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "label": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "file_nam": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 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": {"Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "Exts": [[5, "module-pydis_core.exts"]], "caching": [[8, "module-pydis_core.utils.caching"]], "channel": [[9, "module-pydis_core.utils.channel"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "regex": [[18, "module-pydis_core.utils.regex"]], "members": [[16, "module-pydis_core.utils.members"]], "logging": [[15, "module-pydis_core.utils.logging"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "commands": [[10, "module-pydis_core.utils.commands"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "function": [[13, "module-pydis_core.utils.function"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v9.9.1/versions.html b/v9.9.1/versions.html
index a0d93c7f..109f97e4 100644
--- a/v9.9.1/versions.html
+++ b/v9.9.1/versions.html
@@ -275,6 +275,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -478,6 +482,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>
diff --git a/v9.9.2/.buildinfo b/v9.9.2/.buildinfo
index c9cad03b..4d5546e8 100644
--- a/v9.9.2/.buildinfo
+++ b/v9.9.2/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 8033a5c2825ffb812e22afad30e5973c
+config: 04dc2dca000eebef7f232c581dbb676a
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/v9.9.2/changelog.html b/v9.9.2/changelog.html
index 869294a8..afaed8db 100644
--- a/v9.9.2/changelog.html
+++ b/v9.9.2/changelog.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/changelog.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/changelog.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/development.html b/v9.9.2/development.html
index c72e4e9c..714c9702 100644
--- a/v9.9.2/development.html
+++ b/v9.9.2/development.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/development.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/development.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/genindex.html b/v9.9.2/genindex.html
index 1f71c7ce..baf56cf6 100644
--- a/v9.9.2/genindex.html
+++ b/v9.9.2/genindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/index.html b/v9.9.2/index.html
index 598a4d32..772704d6 100644
--- a/v9.9.2/index.html
+++ b/v9.9.2/index.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/output/pydis_core.async_stats.html b/v9.9.2/output/pydis_core.async_stats.html
index 4b1e7c4f..13adf18c 100644
--- a/v9.9.2/output/pydis_core.async_stats.html
+++ b/v9.9.2/output/pydis_core.async_stats.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.async_stats.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.async_stats.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/output/pydis_core.exts.html b/v9.9.2/output/pydis_core.exts.html
index a322941c..771c070d 100644
--- a/v9.9.2/output/pydis_core.exts.html
+++ b/v9.9.2/output/pydis_core.exts.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.exts.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.exts.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/output/pydis_core.html b/v9.9.2/output/pydis_core.html
index 894258de..79659bfb 100644
--- a/v9.9.2/output/pydis_core.html
+++ b/v9.9.2/output/pydis_core.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/output/pydis_core.site_api.html b/v9.9.2/output/pydis_core.site_api.html
index 6699be20..3eba7fb1 100644
--- a/v9.9.2/output/pydis_core.site_api.html
+++ b/v9.9.2/output/pydis_core.site_api.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.site_api.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.site_api.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/output/pydis_core.utils.caching.html b/v9.9.2/output/pydis_core.utils.caching.html
index 9a95d639..06c7ed85 100644
--- a/v9.9.2/output/pydis_core.utils.caching.html
+++ b/v9.9.2/output/pydis_core.utils.caching.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.caching.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.caching.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/output/pydis_core.utils.channel.html b/v9.9.2/output/pydis_core.utils.channel.html
index ce882cd4..61d9219d 100644
--- a/v9.9.2/output/pydis_core.utils.channel.html
+++ b/v9.9.2/output/pydis_core.utils.channel.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.channel.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.channel.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/output/pydis_core.utils.commands.html b/v9.9.2/output/pydis_core.utils.commands.html
index 61e41769..6eedb763 100644
--- a/v9.9.2/output/pydis_core.utils.commands.html
+++ b/v9.9.2/output/pydis_core.utils.commands.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.commands.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.commands.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/output/pydis_core.utils.cooldown.html b/v9.9.2/output/pydis_core.utils.cooldown.html
index d10304e3..f84042c2 100644
--- a/v9.9.2/output/pydis_core.utils.cooldown.html
+++ b/v9.9.2/output/pydis_core.utils.cooldown.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.cooldown.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.cooldown.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/output/pydis_core.utils.error_handling.html b/v9.9.2/output/pydis_core.utils.error_handling.html
index df5be9d3..1d0af3b9 100644
--- a/v9.9.2/output/pydis_core.utils.error_handling.html
+++ b/v9.9.2/output/pydis_core.utils.error_handling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.error_handling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.error_handling.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/output/pydis_core.utils.function.html b/v9.9.2/output/pydis_core.utils.function.html
index e2b6731c..8cfe446d 100644
--- a/v9.9.2/output/pydis_core.utils.function.html
+++ b/v9.9.2/output/pydis_core.utils.function.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.function.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.function.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/output/pydis_core.utils.html b/v9.9.2/output/pydis_core.utils.html
index 1a1ecac8..5c48a8c0 100644
--- a/v9.9.2/output/pydis_core.utils.html
+++ b/v9.9.2/output/pydis_core.utils.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/output/pydis_core.utils.interactions.html b/v9.9.2/output/pydis_core.utils.interactions.html
index c77c6709..7f1c73e6 100644
--- a/v9.9.2/output/pydis_core.utils.interactions.html
+++ b/v9.9.2/output/pydis_core.utils.interactions.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.interactions.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.interactions.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/output/pydis_core.utils.logging.html b/v9.9.2/output/pydis_core.utils.logging.html
index 4d529969..eecdf17d 100644
--- a/v9.9.2/output/pydis_core.utils.logging.html
+++ b/v9.9.2/output/pydis_core.utils.logging.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.logging.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.logging.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/output/pydis_core.utils.members.html b/v9.9.2/output/pydis_core.utils.members.html
index 372bb35c..2f9fe1a4 100644
--- a/v9.9.2/output/pydis_core.utils.members.html
+++ b/v9.9.2/output/pydis_core.utils.members.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.members.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.members.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/output/pydis_core.utils.paste_service.html b/v9.9.2/output/pydis_core.utils.paste_service.html
index bd5136b3..b5f5256e 100644
--- a/v9.9.2/output/pydis_core.utils.paste_service.html
+++ b/v9.9.2/output/pydis_core.utils.paste_service.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.paste_service.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.paste_service.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/output/pydis_core.utils.regex.html b/v9.9.2/output/pydis_core.utils.regex.html
index ad2a2d46..b890cdbc 100644
--- a/v9.9.2/output/pydis_core.utils.regex.html
+++ b/v9.9.2/output/pydis_core.utils.regex.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.regex.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.regex.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/output/pydis_core.utils.scheduling.html b/v9.9.2/output/pydis_core.utils.scheduling.html
index 25ea15fc..bc0b9731 100644
--- a/v9.9.2/output/pydis_core.utils.scheduling.html
+++ b/v9.9.2/output/pydis_core.utils.scheduling.html
@@ -276,6 +276,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v11.0.1/output/pydis_core.utils.scheduling.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v11.0.0/output/pydis_core.utils.scheduling.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/py-modindex.html b/v9.9.2/py-modindex.html
index 9880fb54..fd8943ce 100644
--- a/v9.9.2/py-modindex.html
+++ b/v9.9.2/py-modindex.html
@@ -274,6 +274,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/search.html b/v9.9.2/search.html
index 3342bf41..c30991bc 100644
--- a/v9.9.2/search.html
+++ b/v9.9.2/search.html
@@ -273,6 +273,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
diff --git a/v9.9.2/searchindex.js b/v9.9.2/searchindex.js
index 19ce510f..3893d208 100644
--- a/v9.9.2/searchindex.js
+++ b/v9.9.2/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "2": [0, 3, 14], "2nd": 0, "juli": 0, "2023": 0, "bug": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "1": [0, 15], "month": 0, "30": 0, "dai": 0, "past": [0, 17, 19], "servic": [0, 1, 3, 17], "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "0": [0, 8, 14, 15], "18th": 0, "featur": [0, 1, 3], "182": 0, "add": [0, 3, 11], "support": [0, 4, 7, 19], "lexer": [0, 17], "valid": 0, "default": [0, 1], "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "py": [0, 13], "3": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "5": [0, 11], "march": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "file_nam": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"site_api": [[6, "module-pydis_core.site_api"]], "channel": [[9, "module-pydis_core.utils.channel"]], "Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "caching": [[8, "module-pydis_core.utils.caching"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "members": [[16, "module-pydis_core.utils.members"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "regex": [[18, "module-pydis_core.utils.regex"]], "logging": [[15, "module-pydis_core.utils.logging"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "function": [[13, "module-pydis_core.utils.function"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "commands": [[10, "module-pydis_core.utils.commands"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "2": [0, 3, 14], "2nd": 0, "juli": 0, "2023": 0, "bug": 0, "185": 0, "updat": [0, 13], "expiri": 0, "label": [0, 14], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "1": [0, 15], "month": 0, "30": 0, "dai": 0, "past": [0, 17, 19], "servic": [0, 1, 3, 17], "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "0": [0, 8, 14, 15], "18th": 0, "featur": [0, 1, 3], "182": 0, "add": [0, 3, 11], "support": [0, 4, 7, 19], "lexer": [0, 17], "valid": 0, "default": [0, 1], "pastebin": 0, "url": [0, 3, 6, 17], "http": [0, 6, 17, 18], "pythondiscord": [0, 17], "com": [0, 17], "8": 0, "13th": 0, "181": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "py": [0, 13], "3": 0, "7": 0, "10th": 0, "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "5": [0, 11], "march": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 8], "match": [0, 3], "lead": 0, "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": 2, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteunsupportedlexererror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "secondari": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "buttonstyl": 14, "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "524288": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "unsupport": 17, "encount": 17, "file_nam": 17, "paste_url": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUnsupportedLexerError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"caching": [[8, "module-pydis_core.utils.caching"]], "site_api": [[6, "module-pydis_core.site_api"]], "Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "channel": [[9, "module-pydis_core.utils.channel"]], "members": [[16, "module-pydis_core.utils.members"]], "regex": [[18, "module-pydis_core.utils.regex"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "logging": [[15, "module-pydis_core.utils.logging"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "commands": [[10, "module-pydis_core.utils.commands"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "function": [[13, "module-pydis_core.utils.function"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "pydis_core": [[3, "module-pydis_core"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[17, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
diff --git a/v9.9.2/versions.html b/v9.9.2/versions.html
index 7e372bf8..99db59e0 100644
--- a/v9.9.2/versions.html
+++ b/v9.9.2/versions.html
@@ -275,6 +275,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v11.0.0/index.html">v11.0.0</a>
</li>
@@ -478,6 +482,12 @@
</li>
<li>
+ <a class="reference internal" href="../v11.0.1/index.html">v11.0.1</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v11.0.0/index.html">v11.0.0</a>