diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index be16a95a01..22998605be 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -9,4 +9,4 @@ /.github/workflows/docs-localization-download.yml @Pycord-Dvelopment/maintain-translations /.github/workflows/docs-localization-upload.yml @Pycord-Dvelopment/maintain-translations /crowdin.yml @Pycord-Dvelopment/maintain-translations -/requirements/_locale.txt @Pycord-Dvelopment/maintain-translations \ No newline at end of file +/requirements/_locale.txt @Pycord-Dvelopment/maintain-translations diff --git a/.github/workflows/docs-localization-download.yml b/.github/workflows/docs-localization-download.yml index 3f0f72f119..b6621c68d6 100644 --- a/.github/workflows/docs-localization-download.yml +++ b/.github/workflows/docs-localization-download.yml @@ -1,50 +1,54 @@ name: Multilingual Docs Download on: - workflow_dispatch: + workflow_dispatch: jobs: - localizse: - permissions: write-all - name: "Localisize Docs" - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: "Install Python" - uses: actions/setup-python@v5 - with: - python-version: "3.12" - cache: "pip" - cache-dependency-path: "requirements/_locale.txt" - - name: "Install Dependencies" - run: | - python -m pip install --upgrade pip setuptools wheel - pip install -r requirements/_locale.txt - pip install .[speed,voice,docs] - - name: "Get locales" - run: | - make html - sphinx-build -b gettext . ./build/locales - working-directory: ./docs - - name: "Build locales" - run: sphinx-intl update -p ./build/locales -l de -l ja -l de -l ja -l fr -l it -l hi -l ko -l pt -l es -l zh - working-directory: ./docs - - name: "Crowdin" - uses: crowdin/github-action@v2 - with: - upload_sources: false - upload_translations: false - download_translations: false - download_bundle: ${{ secrets.CROWDIN_BUNDLE_ID }} - localization_branch_name: l10n_master - create_pull_request: true - pull_request_title: 'New Crowdin Translations' - pull_request_body: 'New Crowdin translations by [Crowdin GH Action](https://github.com/crowdin/github-action)' - pull_request_base_branch_name: 'master' - pull_request_reviewers: 'Lulalaby' - config: 'crowdin.yml' - base_path: '.' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} - CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_API_TOKEN }} \ No newline at end of file + localizse: + permissions: write-all + name: "Localisize Docs" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: "Install Python" + uses: actions/setup-python@v5 + with: + python-version: "3.12" + cache: "pip" + cache-dependency-path: "requirements/_locale.txt" + - name: "Install Dependencies" + run: | + python -m pip install --upgrade pip setuptools wheel + pip install -r requirements/_locale.txt + pip install .[speed,voice,docs] + - name: "Get locales" + run: | + make html + sphinx-build -b gettext . ./build/locales + working-directory: ./docs + - name: "Build locales" + run: + sphinx-intl update -p ./build/locales -l de -l ja -l de -l ja -l fr -l it -l + hi -l ko -l pt -l es -l zh + working-directory: ./docs + - name: "Crowdin" + uses: crowdin/github-action@v2 + with: + upload_sources: false + upload_translations: false + download_translations: false + download_bundle: ${{ secrets.CROWDIN_BUNDLE_ID }} + localization_branch_name: l10n_master + create_pull_request: true + pull_request_title: "New Crowdin Translations" + pull_request_body: + "New Crowdin translations by [Crowdin GH + Action](https://github.com/crowdin/github-action)" + pull_request_base_branch_name: "master" + pull_request_reviewers: "Lulalaby" + config: "crowdin.yml" + base_path: "." + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} + CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_API_TOKEN }} diff --git a/.github/workflows/docs-localization-upload.yml b/.github/workflows/docs-localization-upload.yml index 7d17672ca5..c332d85267 100644 --- a/.github/workflows/docs-localization-upload.yml +++ b/.github/workflows/docs-localization-upload.yml @@ -1,46 +1,48 @@ name: Multilingual Docs Upload on: - push: - branches: - - master + push: + branches: + - master jobs: - localizse: - permissions: write-all - name: "Localisize Docs" - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: "Install Python" - uses: actions/setup-python@v5 - with: - python-version: "3.12" - cache: "pip" - cache-dependency-path: "requirements/_locale.txt" - - name: "Install Dependencies" - run: | - python -m pip install --upgrade pip setuptools wheel - pip install -r requirements/_locale.txt - pip install .[speed,voice,docs] - - name: "Get locales" - run: | - make html - sphinx-build -b gettext . ./build/locales - working-directory: ./docs - - name: "Build locales" - run: sphinx-intl update -p ./build/locales -l de -l ja -l de -l ja -l fr -l it -l hi -l ko -l pt -l es -l zh - working-directory: ./docs - - name: "Crowdin" - uses: crowdin/github-action@v2 - with: - upload_sources: true - upload_translations: false - download_translations: false - localization_branch_name: l10n_master - create_pull_request: false - config: 'crowdin.yml' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} - CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_API_TOKEN }} \ No newline at end of file + localizse: + permissions: write-all + name: "Localisize Docs" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: "Install Python" + uses: actions/setup-python@v5 + with: + python-version: "3.12" + cache: "pip" + cache-dependency-path: "requirements/_locale.txt" + - name: "Install Dependencies" + run: | + python -m pip install --upgrade pip setuptools wheel + pip install -r requirements/_locale.txt + pip install .[speed,voice,docs] + - name: "Get locales" + run: | + make html + sphinx-build -b gettext . ./build/locales + working-directory: ./docs + - name: "Build locales" + run: + sphinx-intl update -p ./build/locales -l de -l ja -l de -l ja -l fr -l it -l + hi -l ko -l pt -l es -l zh + working-directory: ./docs + - name: "Crowdin" + uses: crowdin/github-action@v2 + with: + upload_sources: true + upload_translations: false + download_translations: false + localization_branch_name: l10n_master + create_pull_request: false + config: "crowdin.yml" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} + CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_API_TOKEN }} diff --git a/.gitignore b/.gitignore index d25765178d..d6f1a4d460 100644 --- a/.gitignore +++ b/.gitignore @@ -190,4 +190,4 @@ docs/build/doctrees *.mo !docs/locales/* /build/ -/vscode/ \ No newline at end of file +/vscode/ diff --git a/crowdin.yml b/crowdin.yml index 2a745ff1ce..1823ae0b61 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -14,6 +14,6 @@ files: [ { source: "**/*.pot", - translation: "/docs/locales/%two_letters_code%/LC_MESSAGES/%original_path%/%file_name%.po" - } + translation: "/docs/locales/%two_letters_code%/LC_MESSAGES/%original_path%/%file_name%.po", + }, ] diff --git a/discord/audit_logs.py b/discord/audit_logs.py index 5031942e95..7497e8c37a 100644 --- a/discord/audit_logs.py +++ b/discord/audit_logs.py @@ -213,7 +213,7 @@ class AuditLogDiff: def __len__(self) -> int: return len(self.__dict__) - def __iter__(self) -> Generator[tuple[str, Any], None, None]: + def __iter__(self) -> Generator[tuple[str, Any]]: yield from self.__dict__.items() def __repr__(self) -> str: diff --git a/discord/bot.py b/discord/bot.py index a81825b494..6ecc921f5c 100644 --- a/discord/bot.py +++ b/discord/bot.py @@ -1051,7 +1051,7 @@ def inner(cls: type[SlashCommandGroup]) -> SlashCommandGroup: slash_group = group - def walk_application_commands(self) -> Generator[ApplicationCommand, None, None]: + def walk_application_commands(self) -> Generator[ApplicationCommand]: """An iterator that recursively walks through all application commands and subcommands. Yields diff --git a/discord/client.py b/discord/client.py index 1fc004f35b..7f13696f6f 100644 --- a/discord/client.py +++ b/discord/client.py @@ -1041,7 +1041,7 @@ def get_poll(self, id: int, /) -> Poll | None: """ return self._connection.get_poll(id) - def get_all_channels(self) -> Generator[GuildChannel, None, None]: + def get_all_channels(self) -> Generator[GuildChannel]: """A generator that retrieves every :class:`.abc.GuildChannel` the client can 'access'. This is equivalent to: :: @@ -1065,7 +1065,7 @@ def get_all_channels(self) -> Generator[GuildChannel, None, None]: for guild in self.guilds: yield from guild.channels - def get_all_members(self) -> Generator[Member, None, None]: + def get_all_members(self) -> Generator[Member]: """Returns a generator with every :class:`.Member` the client can see. This is equivalent to: :: diff --git a/discord/cog.py b/discord/cog.py index 4f064edb26..e23def38e2 100644 --- a/discord/cog.py +++ b/discord/cog.py @@ -346,7 +346,7 @@ def description(self) -> str: def description(self, description: str) -> None: self.__cog_description__ = description - def walk_commands(self) -> Generator[ApplicationCommand, None, None]: + def walk_commands(self) -> Generator[ApplicationCommand]: """An iterator that recursively walks through this cog's commands and subcommands. Yields diff --git a/discord/commands/core.py b/discord/commands/core.py index c1093351d9..9212e76bed 100644 --- a/discord/commands/core.py +++ b/discord/commands/core.py @@ -1513,7 +1513,7 @@ async def call_after_hooks(self, ctx: ApplicationContext) -> None: else: await self._after_invoke(ctx) # type: ignore - def walk_commands(self) -> Generator[SlashCommand | SlashCommandGroup, None, None]: + def walk_commands(self) -> Generator[SlashCommand | SlashCommandGroup]: """An iterator that recursively walks through all slash commands and groups in this group. Yields diff --git a/discord/ext/commands/cog.py b/discord/ext/commands/cog.py index 570609d9a2..871d3e816e 100644 --- a/discord/ext/commands/cog.py +++ b/discord/ext/commands/cog.py @@ -50,7 +50,7 @@ def __new__(cls: type[CogT], *args: Any, **kwargs: Any) -> CogT: # To do this, we need to interfere with the Cog creation process. return super().__new__(cls) - def walk_commands(self) -> Generator[Command, None, None]: + def walk_commands(self) -> Generator[Command]: """An iterator that recursively walks through this cog's commands and subcommands. Yields diff --git a/discord/ext/commands/core.py b/discord/ext/commands/core.py index 1f876f175d..992ba05956 100644 --- a/discord/ext/commands/core.py +++ b/discord/ext/commands/core.py @@ -1326,7 +1326,7 @@ def remove_command(self, name: str) -> Command[CogT, Any, Any] | None: self.prefixed_commands[alias] = cmd return command - def walk_commands(self) -> Generator[Command[CogT, Any, Any], None, None]: + def walk_commands(self) -> Generator[Command[CogT, Any, Any]]: """An iterator that recursively walks through all commands and subcommands. .. versionchanged:: 1.4 diff --git a/discord/oggparse.py b/discord/oggparse.py index 9cc0025bf1..4901c38b77 100644 --- a/discord/oggparse.py +++ b/discord/oggparse.py @@ -74,7 +74,7 @@ def __init__(self, stream: IO[bytes]) -> None: except Exception: raise OggError("bad data stream") from None - def iter_packets(self) -> Generator[tuple[bytes, bool], None, None]: + def iter_packets(self) -> Generator[tuple[bytes, bool]]: packetlen = offset = 0 partial = True @@ -106,13 +106,13 @@ def _next_page(self) -> OggPage | None: else: raise OggError("invalid header magic") - def _iter_pages(self) -> Generator[OggPage, None, None]: + def _iter_pages(self) -> Generator[OggPage]: page = self._next_page() while page: yield page page = self._next_page() - def iter_packets(self) -> Generator[bytes, None, None]: + def iter_packets(self) -> Generator[bytes]: partial = b"" for page in self._iter_pages(): for data, complete in page.iter_packets(): diff --git a/docs/conf.py b/docs/conf.py index 25da92e25a..372e67c2e6 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -168,7 +168,7 @@ def write_new(): gettext_compact = False gettext_uuid = True -locale_dirs = ['locales/'] # Added locale directory +locale_dirs = ["locales/"] # Added locale directory # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: @@ -378,7 +378,7 @@ def write_new(): # Sphinx supports the following languages: # 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' # 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' -html_search_language = 'en' +html_search_language = "en" # A dictionary with options for the search language support, empty by default. # Now only 'ja' uses this config value @@ -481,7 +481,7 @@ def write_new(): ] modindex_common_prefix = ["discord."] -#suppress_warnings = ['autosectionlabel.*'] +# suppress_warnings = ['autosectionlabel.*'] myst_enable_extensions = [ "amsmath", "attrs_inline", diff --git a/requirements/_.txt b/requirements/_.txt index 8eb996ef3f..5305a96bd1 100644 --- a/requirements/_.txt +++ b/requirements/_.txt @@ -1,2 +1,2 @@ aiohttp>=3.6.0,<4.0 -typing_extensions>=4,<5; python_version < "3.11" \ No newline at end of file +typing_extensions>=4,<5; python_version < "3.11" diff --git a/requirements/_locale.txt b/requirements/_locale.txt index 5a31ad992e..3f7eae7305 100644 --- a/requirements/_locale.txt +++ b/requirements/_locale.txt @@ -1,2 +1,2 @@ -r all.txt -build==1.2.1 \ No newline at end of file +build==1.2.1 diff --git a/requirements/dev.txt b/requirements/dev.txt index c21600869d..46f83fa2df 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -8,4 +8,4 @@ coverage~=7.6 pre-commit==3.5.0 codespell==2.3.0 bandit==1.7.9 -flake8==7.1.1 \ No newline at end of file +flake8==7.1.1