mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 11:18:54 -05:00
Compare commits
115 Commits
3.5.13
...
V3/develop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dd3b9a01d3 | ||
|
|
a809c3604a | ||
|
|
982f082cb0 | ||
|
|
6a4d777723 | ||
|
|
4dc18342d9 | ||
|
|
71311c446a | ||
|
|
d4a1ee38f0 | ||
|
|
8507b0165f | ||
|
|
c7651da2f9 | ||
|
|
4d24365d17 | ||
|
|
d2f0f8d5ed | ||
|
|
cc803579a0 | ||
|
|
0271dee092 | ||
|
|
1e5620935d | ||
|
|
031e57891c | ||
|
|
72f8952baf | ||
|
|
0e25534677 | ||
|
|
cfbf2fa401 | ||
|
|
a65509c67c | ||
|
|
936e17338c | ||
|
|
6c3c2e8fa7 | ||
|
|
8c3cdf20a6 | ||
|
|
f68580fab9 | ||
|
|
ec66666036 | ||
|
|
3fd23d4163 | ||
|
|
2dbbb51208 | ||
|
|
b177c80b4e | ||
|
|
029029e9a5 | ||
|
|
c6ff2191f3 | ||
|
|
6603cd1a86 | ||
|
|
1daf56f3d8 | ||
|
|
b3f0349ba2 | ||
|
|
bfc3561928 | ||
|
|
8d8918b3c6 | ||
|
|
550cf49bc8 | ||
|
|
313eeffc84 | ||
|
|
88e1f72467 | ||
|
|
3c6146d6ca | ||
|
|
bfab9cc5f8 | ||
|
|
07ee31a88f | ||
|
|
bd61c105e0 | ||
|
|
db0e831a2e | ||
|
|
d7a56f1518 | ||
|
|
5f2c6d19d1 | ||
|
|
7b3600ecb1 | ||
|
|
6f5f34c80a | ||
|
|
2e902b067e | ||
|
|
61695daded | ||
|
|
10889642ce | ||
|
|
a3b254fe8e | ||
|
|
71554c981d | ||
|
|
e1225029b0 | ||
|
|
85923d4c0f | ||
|
|
19b34c63b2 | ||
|
|
60e819159f | ||
|
|
0f4c7b0fe6 | ||
|
|
3bf7c64d01 | ||
|
|
4558b72082 | ||
|
|
73958d87f1 | ||
|
|
d6054412f4 | ||
|
|
5cf69bdc51 | ||
|
|
2fd6ea88d9 | ||
|
|
50ad59a6c8 | ||
|
|
dfc1e742f8 | ||
|
|
769c319ffd | ||
|
|
3c1f2cddfd | ||
|
|
1299db0f3a | ||
|
|
c58d208ca2 | ||
|
|
c308ea0184 | ||
|
|
8e0948d560 | ||
|
|
952a372652 | ||
|
|
a0c1713e78 | ||
|
|
8b1daf1ad0 | ||
|
|
dcdef9d798 | ||
|
|
f962aeb7b8 | ||
|
|
b13b1f8f16 | ||
|
|
6bf2a88995 | ||
|
|
22888f8014 | ||
|
|
ba44370020 | ||
|
|
cd0e8750c1 | ||
|
|
679289fd1c | ||
|
|
ce6489325e | ||
|
|
d64cbdf83e | ||
|
|
66d1c87b5a | ||
|
|
3888f09cfa | ||
|
|
8ad9c55d50 | ||
|
|
3aac07a4d7 | ||
|
|
bd26e7d5af | ||
|
|
9392077434 | ||
|
|
1f48919005 | ||
|
|
fdaa869130 | ||
|
|
18614b1604 | ||
|
|
016684bcce | ||
|
|
5cfb8edab8 | ||
|
|
150692538f | ||
|
|
f4ffc6bc80 | ||
|
|
9419f2642a | ||
|
|
f0a29e9815 | ||
|
|
d29ae723c1 | ||
|
|
9920628948 | ||
|
|
48b2fe77c0 | ||
|
|
33e0eac741 | ||
|
|
2871992772 | ||
|
|
30058c0f73 | ||
|
|
4134881fae | ||
|
|
4396323205 | ||
|
|
4e27059209 | ||
|
|
d3887b595f | ||
|
|
005b8af10a | ||
|
|
d304da7a16 | ||
|
|
f3c89ad8bd | ||
|
|
05cf9b7f39 | ||
|
|
907a3f7561 | ||
|
|
2595c9de10 | ||
|
|
8be7b0850c |
2
.github/labeler.yml
vendored
2
.github/labeler.yml
vendored
@ -162,6 +162,7 @@
|
|||||||
- any:
|
- any:
|
||||||
- redbot/core/_drivers/**/*
|
- redbot/core/_drivers/**/*
|
||||||
- "!redbot/core/_drivers/**/locales/*"
|
- "!redbot/core/_drivers/**/locales/*"
|
||||||
|
- redbot/core/_config.py
|
||||||
- redbot/core/config.py
|
- redbot/core/config.py
|
||||||
# Docs
|
# Docs
|
||||||
- docs/framework_config.rst
|
- docs/framework_config.rst
|
||||||
@ -215,6 +216,7 @@
|
|||||||
- redbot/core/commands/help.py
|
- redbot/core/commands/help.py
|
||||||
"Category: Core - i18n":
|
"Category: Core - i18n":
|
||||||
# Source
|
# Source
|
||||||
|
- redbot/core/_i18n.py
|
||||||
- redbot/core/i18n.py
|
- redbot/core/i18n.py
|
||||||
# Locale files
|
# Locale files
|
||||||
- redbot/**/locales/*
|
- redbot/**/locales/*
|
||||||
|
|||||||
@ -9,7 +9,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the repository
|
- name: Checkout the repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
@ -17,7 +17,7 @@ jobs:
|
|||||||
- name: Install script's pre-requirements
|
- name: Install script's pre-requirements
|
||||||
run: |
|
run: |
|
||||||
python -m pip install -U pip
|
python -m pip install -U pip
|
||||||
python -m pip install -U pathspec pyyaml rich
|
python -m pip install -U pathspec pyyaml rich typing_extensions
|
||||||
- name: Check label pattern exhaustiveness
|
- name: Check label pattern exhaustiveness
|
||||||
run: |
|
run: |
|
||||||
python .github/workflows/scripts/check_label_pattern_exhaustiveness.py
|
python .github/workflows/scripts/check_label_pattern_exhaustiveness.py
|
||||||
|
|||||||
7
.github/workflows/codeql-analysis.yml
vendored
7
.github/workflows/codeql-analysis.yml
vendored
@ -17,7 +17,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
@ -34,14 +34,13 @@ jobs:
|
|||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v2
|
uses: github/codeql-action/init@v3
|
||||||
with:
|
with:
|
||||||
languages: 'python'
|
languages: 'python'
|
||||||
# Override the default behavior so that the action doesn't attempt
|
# Override the default behavior so that the action doesn't attempt
|
||||||
# to auto-install Python dependencies
|
# to auto-install Python dependencies
|
||||||
# Learn more...
|
# Learn more...
|
||||||
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#analyzing-python-dependencies
|
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#analyzing-python-dependencies
|
||||||
setup-python-dependencies: false
|
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
# 📚 https://git.io/JvXDl
|
# 📚 https://git.io/JvXDl
|
||||||
@ -55,4 +54,4 @@ jobs:
|
|||||||
# make release
|
# make release
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v2
|
uses: github/codeql-action/analyze@v3
|
||||||
|
|||||||
2
.github/workflows/crowdin_upload_strings.yml
vendored
2
.github/workflows/crowdin_upload_strings.yml
vendored
@ -9,7 +9,7 @@ jobs:
|
|||||||
if: github.repository == 'Cog-Creators/Red-DiscordBot'
|
if: github.repository == 'Cog-Creators/Red-DiscordBot'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
|
|||||||
2
.github/workflows/lint_python.yaml
vendored
2
.github/workflows/lint_python.yaml
vendored
@ -14,7 +14,7 @@ jobs:
|
|||||||
name: Lint Python
|
name: Lint Python
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
ref: ${{ env.ref }}
|
ref: ${{ env.ref }}
|
||||||
- uses: actions/setup-python@v4
|
- uses: actions/setup-python@v4
|
||||||
|
|||||||
4
.github/workflows/prepare_release.yml
vendored
4
.github/workflows/prepare_release.yml
vendored
@ -16,7 +16,7 @@ jobs:
|
|||||||
needs: pr_stable_bump
|
needs: pr_stable_bump
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
@ -73,7 +73,7 @@ jobs:
|
|||||||
milestone_number: ${{ steps.get_milestone_number.outputs.result }}
|
milestone_number: ${{ steps.get_milestone_number.outputs.result }}
|
||||||
steps:
|
steps:
|
||||||
# Checkout repository and install Python
|
# Checkout repository and install Python
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
|
|||||||
26
.github/workflows/publish_release.yml
vendored
26
.github/workflows/publish_release.yml
vendored
@ -11,7 +11,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
# Checkout repository and install Python
|
# Checkout repository and install Python
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
@ -57,7 +57,7 @@ jobs:
|
|||||||
name: Build package
|
name: Build package
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
@ -75,7 +75,7 @@ jobs:
|
|||||||
run: python -m twine check dist/*
|
run: python -m twine check dist/*
|
||||||
|
|
||||||
- name: Upload packaged distributions
|
- name: Upload packaged distributions
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: build-output
|
name: build-output
|
||||||
path: ./dist
|
path: ./dist
|
||||||
@ -84,7 +84,7 @@ jobs:
|
|||||||
name: Generate default application.yml
|
name: Generate default application.yml
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
@ -98,14 +98,14 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
APP_YML_FILE: "Red-DiscordBot-${{ github.ref_name }}-default-lavalink-application.yml"
|
APP_YML_FILE: "Red-DiscordBot-${{ github.ref_name }}-default-lavalink-application.yml"
|
||||||
run: |
|
run: |
|
||||||
mkdir -p dist
|
mkdir -p release_assets
|
||||||
python .github/workflows/scripts/get_default_ll_server_config.py "dist/$APP_YML_FILE"
|
python .github/workflows/scripts/get_default_ll_server_config.py "release_assets/$APP_YML_FILE"
|
||||||
|
|
||||||
- name: Upload default application.yml
|
- name: Upload default application.yml
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ll-default-server-config
|
name: ll-default-server-config
|
||||||
path: ./dist
|
path: ./release_assets
|
||||||
|
|
||||||
release_to_pypi:
|
release_to_pypi:
|
||||||
needs:
|
needs:
|
||||||
@ -120,22 +120,22 @@ jobs:
|
|||||||
id-token: write
|
id-token: write
|
||||||
steps:
|
steps:
|
||||||
- name: Download packaged distributions
|
- name: Download packaged distributions
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: build-output
|
name: build-output
|
||||||
path: dist/
|
path: dist/
|
||||||
|
|
||||||
- name: Download default application.yml
|
- name: Download default application.yml
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ll-default-server-config
|
name: ll-default-server-config
|
||||||
path: dist/
|
path: release_assets/
|
||||||
|
|
||||||
- name: Upload dists to GitHub Release
|
- name: Upload dists to GitHub Release
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: "${{ github.token }}"
|
GITHUB_TOKEN: "${{ github.token }}"
|
||||||
run: |
|
run: |
|
||||||
gh release upload "$GITHUB_REF_NAME" dist/* --repo "$GITHUB_REPOSITORY"
|
gh release upload "$GITHUB_REF_NAME" dist/* release_assets/* --repo "$GITHUB_REPOSITORY"
|
||||||
|
|
||||||
- name: Publish package distributions to PyPI
|
- name: Publish package distributions to PyPI
|
||||||
uses: pypa/gh-action-pypi-publish@release/v1
|
uses: pypa/gh-action-pypi-publish@release/v1
|
||||||
@ -160,7 +160,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
echo "BASE_BRANCH=${TAG_BASE_BRANCH#'refs/heads/'}" >> $GITHUB_ENV
|
echo "BASE_BRANCH=${TAG_BASE_BRANCH#'refs/heads/'}" >> $GITHUB_ENV
|
||||||
|
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
ref: ${{ env.BASE_BRANCH }}
|
ref: ${{ env.BASE_BRANCH }}
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
|
|||||||
14
.github/workflows/run_pip_compile.yaml
vendored
14
.github/workflows/run_pip_compile.yaml
vendored
@ -15,7 +15,7 @@ jobs:
|
|||||||
- macos-latest
|
- macos-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the repository.
|
- name: Checkout the repository.
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python 3.8.
|
- name: Set up Python 3.8.
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
@ -48,7 +48,7 @@ jobs:
|
|||||||
python .github/workflows/scripts/compile_requirements.py
|
python .github/workflows/scripts/compile_requirements.py
|
||||||
|
|
||||||
- name: Upload requirements files.
|
- name: Upload requirements files.
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ steps.compile_requirements.outputs.sys_platform }}
|
name: ${{ steps.compile_requirements.outputs.sys_platform }}
|
||||||
path: requirements/${{ steps.compile_requirements.outputs.sys_platform }}-*.txt
|
path: requirements/${{ steps.compile_requirements.outputs.sys_platform }}-*.txt
|
||||||
@ -59,7 +59,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the repository.
|
- name: Checkout the repository.
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python 3.8.
|
- name: Set up Python 3.8.
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
@ -71,17 +71,17 @@ jobs:
|
|||||||
python -m pip install -U "packaging>=22.0"
|
python -m pip install -U "packaging>=22.0"
|
||||||
|
|
||||||
- name: Download Windows requirements.
|
- name: Download Windows requirements.
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: win32
|
name: win32
|
||||||
path: requirements
|
path: requirements
|
||||||
- name: Download Linux requirements.
|
- name: Download Linux requirements.
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: linux
|
name: linux
|
||||||
path: requirements
|
path: requirements
|
||||||
- name: Download macOS requirements.
|
- name: Download macOS requirements.
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: darwin
|
name: darwin
|
||||||
path: requirements
|
path: requirements
|
||||||
@ -91,7 +91,7 @@ jobs:
|
|||||||
python .github/workflows/scripts/merge_requirements.py
|
python .github/workflows/scripts/merge_requirements.py
|
||||||
|
|
||||||
- name: Upload merged requirements files.
|
- name: Upload merged requirements files.
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: merged
|
name: merged
|
||||||
path: |
|
path: |
|
||||||
|
|||||||
@ -17,6 +17,12 @@ def pip_compile(version: str, name: str) -> None:
|
|||||||
if EXCLUDE_STEM_RE.fullmatch(stem):
|
if EXCLUDE_STEM_RE.fullmatch(stem):
|
||||||
return
|
return
|
||||||
|
|
||||||
|
constraint_flags = [
|
||||||
|
arg
|
||||||
|
for file in REQUIREMENTS_FOLDER.glob(f"{sys.platform}-3.8-*.txt")
|
||||||
|
for arg in ("-c", file.name)
|
||||||
|
]
|
||||||
|
|
||||||
executable = ("py", f"-{version}") if sys.platform == "win32" else (f"python{version}",)
|
executable = ("py", f"-{version}") if sys.platform == "win32" else (f"python{version}",)
|
||||||
subprocess.check_call(
|
subprocess.check_call(
|
||||||
(
|
(
|
||||||
@ -30,6 +36,7 @@ def pip_compile(version: str, name: str) -> None:
|
|||||||
f"{name}.in",
|
f"{name}.in",
|
||||||
"--output-file",
|
"--output-file",
|
||||||
f"{stem}.txt",
|
f"{stem}.txt",
|
||||||
|
*constraint_flags,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
16
.github/workflows/scripts/merge_requirements.py
vendored
16
.github/workflows/scripts/merge_requirements.py
vendored
@ -49,6 +49,8 @@ def get_requirements(fp: TextIO) -> List[RequirementData]:
|
|||||||
via_prefix = "via "
|
via_prefix = "via "
|
||||||
if source.startswith(via_prefix):
|
if source.startswith(via_prefix):
|
||||||
source = source[len(via_prefix) :]
|
source = source[len(via_prefix) :]
|
||||||
|
if source.startswith("-c ") and source != "-c base.txt":
|
||||||
|
continue
|
||||||
current.comments.add(source)
|
current.comments.add(source)
|
||||||
elif line and not line.startswith(("#", " ")):
|
elif line and not line.startswith(("#", " ")):
|
||||||
current = RequirementData(line)
|
current = RequirementData(line)
|
||||||
@ -135,25 +137,27 @@ for name in names:
|
|||||||
python_version_marker = (
|
python_version_marker = (
|
||||||
# Requirement present on less Python versions than not.
|
# Requirement present on less Python versions than not.
|
||||||
" or ".join(
|
" or ".join(
|
||||||
f"python_version == '{python_version}'" for python_version in python_versions
|
f"python_version == '{python_version}'"
|
||||||
|
for python_version in sorted(python_versions)
|
||||||
)
|
)
|
||||||
if len(python_versions) < len(all_python_versions - python_versions)
|
if len(python_versions) < len(all_python_versions - python_versions)
|
||||||
# Requirement present on more Python versions than not
|
# Requirement present on more Python versions than not
|
||||||
# This may generate an empty string when Python version is irrelevant.
|
# This may generate an empty string when Python version is irrelevant.
|
||||||
else " and ".join(
|
else " and ".join(
|
||||||
f"python_version != '{python_version}'"
|
f"python_version != '{python_version}'"
|
||||||
for python_version in all_python_versions - python_versions
|
for python_version in sorted(all_python_versions - python_versions)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
platform_marker = (
|
platform_marker = (
|
||||||
# Requirement present on less platforms than not.
|
# Requirement present on less platforms than not.
|
||||||
" or ".join(f"sys_platform == '{platform}'" for platform in platforms)
|
" or ".join(f"sys_platform == '{platform}'" for platform in sorted(platforms))
|
||||||
if len(platforms) < len(all_platforms - platforms)
|
if len(platforms) < len(all_platforms - platforms)
|
||||||
# Requirement present on more platforms than not
|
# Requirement present on more platforms than not
|
||||||
# This may generate an empty string when platform is irrelevant.
|
# This may generate an empty string when platform is irrelevant.
|
||||||
else " and ".join(
|
else " and ".join(
|
||||||
f"sys_platform != '{platform}'" for platform in all_platforms - platforms
|
f"sys_platform != '{platform}'"
|
||||||
|
for platform in sorted(all_platforms - platforms)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -167,12 +171,12 @@ for name in names:
|
|||||||
# Requirement present on less envs than not.
|
# Requirement present on less envs than not.
|
||||||
" or ".join(
|
" or ".join(
|
||||||
f"(sys_platform == '{platform}' and python_version == '{python_version}')"
|
f"(sys_platform == '{platform}' and python_version == '{python_version}')"
|
||||||
for platform, python_version in iter_envs(envs)
|
for platform, python_version in iter_envs(sorted(envs))
|
||||||
)
|
)
|
||||||
if len(envs) < len(all_envs - envs.keys())
|
if len(envs) < len(all_envs - envs.keys())
|
||||||
else " and ".join(
|
else " and ".join(
|
||||||
f"(sys_platform != '{platform}' and python_version != '{python_version}')"
|
f"(sys_platform != '{platform}' and python_version != '{python_version}')"
|
||||||
for platform, python_version in iter_envs(all_envs - envs.keys())
|
for platform, python_version in iter_envs(sorted(all_envs - envs.keys()))
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
4
.github/workflows/tests.yml
vendored
4
.github/workflows/tests.yml
vendored
@ -39,7 +39,7 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
name: Tox - ${{ matrix.friendly_name }}
|
name: Tox - ${{ matrix.friendly_name }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
ref: ${{ env.ref }}
|
ref: ${{ env.ref }}
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
@ -76,7 +76,7 @@ jobs:
|
|||||||
POSTGRES_PASSWORD: postgres
|
POSTGRES_PASSWORD: postgres
|
||||||
POSTGRES_USER: postgres
|
POSTGRES_USER: postgres
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
ref: ${{ env.ref }}
|
ref: ${{ env.ref }}
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
|
|||||||
@ -26,14 +26,6 @@ unsafe-load-any-extension=no
|
|||||||
# run arbitrary code
|
# run arbitrary code
|
||||||
extension-pkg-whitelist=
|
extension-pkg-whitelist=
|
||||||
|
|
||||||
# Allow optimization of some AST trees. This will activate a peephole AST
|
|
||||||
# optimizer, which will apply various small optimizations. For instance, it can
|
|
||||||
# be used to obtain the result of joining multiple strings with the addition
|
|
||||||
# operator. Joining a lot of strings can lead to a maximum recursion error in
|
|
||||||
# Pylint and this flag can prevent that. It has one side effect, the resulting
|
|
||||||
# AST will be different than the one from reality.
|
|
||||||
optimize-ast=no
|
|
||||||
|
|
||||||
|
|
||||||
[MESSAGES CONTROL]
|
[MESSAGES CONTROL]
|
||||||
|
|
||||||
@ -66,7 +58,6 @@ disable=C, # black is enforcing this for us already, incompatibly
|
|||||||
[REPORTS]
|
[REPORTS]
|
||||||
|
|
||||||
output-format=parseable
|
output-format=parseable
|
||||||
files-output=no
|
|
||||||
reports=no
|
reports=no
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -4,6 +4,12 @@ build:
|
|||||||
os: "ubuntu-22.04"
|
os: "ubuntu-22.04"
|
||||||
tools:
|
tools:
|
||||||
python: "3.8"
|
python: "3.8"
|
||||||
|
jobs:
|
||||||
|
install:
|
||||||
|
- pip install .[doc]
|
||||||
|
|
||||||
|
sphinx:
|
||||||
|
configuration: docs/conf.py
|
||||||
|
|
||||||
python:
|
python:
|
||||||
install:
|
install:
|
||||||
|
|||||||
403
CHANGES.rst
403
CHANGES.rst
@ -1,5 +1,408 @@
|
|||||||
.. Red changelogs
|
.. Red changelogs
|
||||||
|
|
||||||
|
Redbot 3.5.22 (2025-09-05)
|
||||||
|
==========================
|
||||||
|
|
||||||
|
| Thanks to all these amazing people that contributed to this release:
|
||||||
|
| :ghuser:`AAA3A-AAA3A`, :ghuser:`aikaterna`, :ghuser:`Flame442`, :ghuser:`Jackenmen`, :ghuser:`Kowlin`
|
||||||
|
|
||||||
|
Read before updating
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
#. Information for Audio users that are using an external Lavalink instance (if you don't know what that is, you should skip this point):
|
||||||
|
|
||||||
|
We've updated our default application.yml file and you should update your instance's ``application.yml`` accordingly.
|
||||||
|
More specifically, we updated YT client options to fix a few regressions introduced by changes in 3.5.21.
|
||||||
|
`Download Red 3.5.22's default application.yml file <https://github.com/Cog-Creators/Red-DiscordBot/releases/download/3.5.22/Red-DiscordBot-3.5.22-default-lavalink-application.yml>`__
|
||||||
|
|
||||||
|
End-user changelog
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
*****
|
||||||
|
|
||||||
|
- **Cogs - Audio** - Fixed a regression with YT video metadata loading introduced by Red 3.5.21 (:issue:`6611`)
|
||||||
|
- **Cogs - Audio** - Fixed a problem with command help texts not being translated in the Audio cog (:issue:`6608`, :issue:`6609`)
|
||||||
|
|
||||||
|
Developer changelog
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
Changes
|
||||||
|
*******
|
||||||
|
|
||||||
|
- **Core - Dependencies** - Bumped ``discord.py`` to version 2.6.3 (:issue:`6612`, :issue:`6614`)
|
||||||
|
- **Core - Utils Package** - Updated ``INVITE_URL_RE`` common filter to also match invite links using ``\\`` instead of just ``/`` (:issue:`6586`)
|
||||||
|
- **Core - Utils Package** - Updated ``INVITE_URL_RE`` common filter to ignore ``promos.discord.gg`` links (:issue:`6586`)
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
Redbot 3.5.21 (2025-08-26)
|
||||||
|
==========================
|
||||||
|
|
||||||
|
| Thanks to all these amazing people that contributed to this release:
|
||||||
|
| :ghuser:`egypt1848`, :ghuser:`Flame442`, :ghuser:`Jackenmen`, :ghuser:`Kowlin`, :ghuser:`Kreusada`, :ghuser:`TrustyJAID`, :ghuser:`VasilisThePikachu`
|
||||||
|
|
||||||
|
Read before updating
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
#. Information for Audio users that are using an external Lavalink instance (if you don't know what that is, you should skip this point):
|
||||||
|
|
||||||
|
We've updated our default application.yml file and you should update your instance's ``application.yml`` accordingly.
|
||||||
|
More specifically, we bumped the version of YT source plugin and updated its client options.
|
||||||
|
`Download Red 3.5.21's default application.yml file <https://github.com/Cog-Creators/Red-DiscordBot/releases/download/3.5.21/Red-DiscordBot-3.5.21-default-lavalink-application.yml>`__
|
||||||
|
|
||||||
|
#. Following operating systems are no longer supported as they have already reached their end of life:
|
||||||
|
|
||||||
|
- Ubuntu 20.04 LTS
|
||||||
|
- versions of RHEL/Alma Linux/Oracle Linux/Rocky Linux 8 older than 8.10
|
||||||
|
- versions of RHEL/Alma Linux/Oracle Linux/Rocky Linux 9 older than 9.4
|
||||||
|
|
||||||
|
End-user changelog
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Additions
|
||||||
|
*********
|
||||||
|
|
||||||
|
- |cool| **Cogs - Mod** - The DM message (``[p]modset dm``) sent by cog's ban commands can now include customizable extra field (:issue:`6593`)
|
||||||
|
|
||||||
|
This feature can, for example, be useful for providing the banned user with information about the ban appeal process.
|
||||||
|
|
||||||
|
To configure it, look at the subcommands listed in the help text of the ``[p]modset dm`` command.
|
||||||
|
|
||||||
|
Changes
|
||||||
|
*******
|
||||||
|
|
||||||
|
- **Core** - The application (slash) commands will now use the server's configured language rather than the bot's global language, same as regular text commands (:issue:`6272`, :issue:`6579`)
|
||||||
|
- **Core** - The option to request a ``file`` will no longer be provided in interactively sent messages when the bot does not actually have the permission to send files in the current channel (:issue:`6540`, :issue:`6552`)
|
||||||
|
- **Core - Command-line Interfaces** - Red's error logging will now use standard traceback formatting by default as the Rich tracebacks (previously default) proved to be impractical when providing support to users and affected performance (:issue:`6576`)
|
||||||
|
|
||||||
|
- If you want to continue using Rich tracebacks, you can pass the new ``--rich-tracebacks`` flag when starting Red.
|
||||||
|
- **Core - Dependencies** - Red's dependencies have been bumped (:issue:`6599`)
|
||||||
|
|
||||||
|
Removals
|
||||||
|
********
|
||||||
|
|
||||||
|
- **Core - OS Support** - Ubuntu 20.04 LTS is no longer supported as it has already reached its end of life (:issue:`6598`)
|
||||||
|
- **Core - OS Support** - Versions of RHEL/Alma Linux/Oracle Linux/Rocky Linux 8 older than 8.10 are no longer supported as they have already reached their end of life (:issue:`6598`)
|
||||||
|
- **Core - OS Support** - Versions of RHEL/Alma Linux/Oracle Linux/Rocky Linux 9 older than 9.4 are no longer supported as they have already reached their end of life (:issue:`6598`)
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
*****
|
||||||
|
|
||||||
|
- |cool| **Cogs - Alias** - Fixed some of the issues with handling of quoted command arguments when using command aliases (:issue:`6582`)
|
||||||
|
- |cool| **Cogs - Audio** - Fixed recent YT playback issues (:issue:`6602`)
|
||||||
|
- **Cogs - Audio** - Fixed YT client configuration (:issue:`6601`)
|
||||||
|
- **Cogs - Mod** - Fixed formatting of the ``[p]names`` command (:issue:`6538`)
|
||||||
|
- **Cogs - Reports** - Fixed the ``[p]report`` command not working properly when invoked from a DM context (:issue:`6573`)
|
||||||
|
|
||||||
|
Developer changelog
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
Changes
|
||||||
|
*******
|
||||||
|
|
||||||
|
- |cool| **Core - Dependencies** - Bumped ``discord.py`` to version 2.6.2 (:issue:`6597`)
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
*****
|
||||||
|
|
||||||
|
- **Cogs - Dev** - Fixed issues with ``[p]eval/repl/debug`` commands erroring when string representation of the code's result is not valid UTF-8 (:issue:`6485`, :issue:`6592`)
|
||||||
|
|
||||||
|
|
||||||
|
Documentation changes
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
- Refreshed the `intents` document with descriptions of how the intents are used in Red, our stance on public bots, and replaced some of the historical details with more up-to-date information (:issue:`6578`)
|
||||||
|
- Added more code examples to the `framework_i18n` document, including common pitfalls and an example of how to apply proper locale in non-command contexts (:issue:`6595`)
|
||||||
|
- Expanded the tutorial about creating translation catalogs for 3rd-party cogs in the `framework_i18n` document (:issue:`6595`)
|
||||||
|
- Added example of `Group.all()` method's usage to the tutorial in the `framework_config` document (:issue:`6295`, :issue:`6550`)
|
||||||
|
- Added a tip about the ``[botname]`` placeholder in the `guide_publish_cogs` document (:issue:`6539`)
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
Redbot 3.5.20 (2025-05-03)
|
||||||
|
==========================
|
||||||
|
|
||||||
|
| Thanks to all these amazing people that contributed to this release:
|
||||||
|
| :ghuser:`aikaterna`, :ghuser:`Jackenmen`, :ghuser:`Kreusada`
|
||||||
|
|
||||||
|
Read before updating
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
#. Information for Audio users that are using an external Lavalink instance (if you don't know what that is, you should skip this point):
|
||||||
|
|
||||||
|
We've updated our default application.yml file and you should update your instance's ``application.yml`` accordingly.
|
||||||
|
More specifically, we bumped the version of YT source plugin.
|
||||||
|
`Download Red 3.5.20's default application.yml file <https://github.com/Cog-Creators/Red-DiscordBot/releases/download/3.5.20/Red-DiscordBot-3.5.20-default-lavalink-application.yml>`__
|
||||||
|
|
||||||
|
End-user changelog
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Changes
|
||||||
|
*******
|
||||||
|
|
||||||
|
- **Core - Dependencies** - Red's dependencies have been bumped (:issue:`6568`)
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
*****
|
||||||
|
|
||||||
|
- |cool| **Cogs - Audio** - Fixed recent YT playback issues (:issue:`6566`, :issue:`6567`)
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
Redbot 3.5.19 (2025-04-27)
|
||||||
|
==========================
|
||||||
|
|
||||||
|
| Thanks to all these amazing people that contributed to this release:
|
||||||
|
| :ghuser:`aikaterna`, :ghuser:`Flame442`, :ghuser:`Jackenmen`
|
||||||
|
|
||||||
|
Read before updating
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
#. Information for Audio users that are using an external Lavalink instance (if you don't know what that is, you should skip this point):
|
||||||
|
|
||||||
|
We've updated our default application.yml file and you should update your instance's ``application.yml`` accordingly.
|
||||||
|
More specifically, we bumped the version of YT source plugin.
|
||||||
|
`Download Red 3.5.19's default application.yml file <https://github.com/Cog-Creators/Red-DiscordBot/releases/download/3.5.19/Red-DiscordBot-3.5.19-default-lavalink-application.yml>`__
|
||||||
|
|
||||||
|
#. Fedora 40 is no longer supported as it will soon reach its end of life. Fedora install instructions have been updated with support for Fedora 42.
|
||||||
|
|
||||||
|
End-user changelog
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Changes
|
||||||
|
*******
|
||||||
|
|
||||||
|
- **Core - Dependencies** - Red's dependencies have been bumped (:issue:`6558`)
|
||||||
|
- **Core - OS Support** - Fedora 40 is no longer supported as it will soon reach its end of life (:issue:`6558`)
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
*****
|
||||||
|
|
||||||
|
- |cool| **Cogs - Audio** - Fixed recent YT playback issues (:issue:`6557`)
|
||||||
|
|
||||||
|
Documentation changes
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Changes
|
||||||
|
*******
|
||||||
|
|
||||||
|
- Updated Fedora install instructions to work with Fedora 42 (:issue:`6558`)
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
Redbot 3.5.18 (2025-03-26)
|
||||||
|
==========================
|
||||||
|
|
||||||
|
| Thanks to all these amazing people that contributed to this release:
|
||||||
|
| :ghuser:`Jackenmen`, :ghuser:`Kreusada`
|
||||||
|
|
||||||
|
Read before updating
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
#. Information for Audio users that are using an external Lavalink instance (if you don't know what that is, you should skip this point):
|
||||||
|
|
||||||
|
We've updated our default application.yml file and you should update your instance's ``application.yml`` accordingly.
|
||||||
|
More specifically, we bumped the version of YT source plugin.
|
||||||
|
`Download Red 3.5.18's default application.yml file <https://github.com/Cog-Creators/Red-DiscordBot/releases/download/3.5.18/Red-DiscordBot-3.5.18-default-lavalink-application.yml>`__
|
||||||
|
|
||||||
|
End-user changelog
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Changes
|
||||||
|
*******
|
||||||
|
|
||||||
|
- **Core - Dependencies** - Red's dependencies have been bumped (:issue:`6543`)
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
*****
|
||||||
|
|
||||||
|
- |cool| **Cogs - Audio** - Fixed recent YT playback issues (:issue:`6542`)
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
Redbot 3.5.17 (2025-03-08)
|
||||||
|
==========================
|
||||||
|
|
||||||
|
| Thanks to all these amazing people that contributed to this release:
|
||||||
|
| :ghuser:`aikaterna`, :ghuser:`Flame442`, :ghuser:`Jackenmen`, :ghuser:`karlsbjorn`, :ghuser:`Kowlin`
|
||||||
|
|
||||||
|
Read before updating
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
#. Information for Audio users that are using an external Lavalink instance (if you don't know what that is, you should skip this point):
|
||||||
|
|
||||||
|
We've updated our default application.yml file and you should update your instance's ``application.yml`` accordingly.
|
||||||
|
More specifically, we bumped the version of YT source plugin.
|
||||||
|
`Download Red 3.5.17's default application.yml file <https://github.com/Cog-Creators/Red-DiscordBot/releases/download/3.5.17/Red-DiscordBot-3.5.17-default-lavalink-application.yml>`__
|
||||||
|
|
||||||
|
End-user changelog
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Changes
|
||||||
|
*******
|
||||||
|
|
||||||
|
- **Core - Dependencies** - Red's dependencies have been bumped (:issue:`6529`, :issue:`6531`)
|
||||||
|
- **Cogs - Cleanup** - The ``[p]cleanup duplicates`` command now considers more information about the message when determining if it's a duplicate. Notably, messages with polls are ignored and equivalent messages replying to different messages are now not considered duplicates (:issue:`6529`)
|
||||||
|
- **Cogs - Filter** - The cog now checks forwarded messages for filtered words (:issue:`6529`)
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
*****
|
||||||
|
|
||||||
|
- |cool| **Cogs - Audio** - Fixed recent YT playback issues (:issue:`6530`)
|
||||||
|
- **Cogs - Streams** - Fixed upcoming stream alert showing an incorrect time when Red is hosted on a system using a non-UTC timezone (:issue:`6526`, :issue:`6527`)
|
||||||
|
|
||||||
|
Developer changelog
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
Changes
|
||||||
|
*******
|
||||||
|
|
||||||
|
- |cool| **Core - Dependencies** - Bumped ``discord.py`` to version 2.5.2 (:issue:`6529`, :issue:`6531`)
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
Redbot 3.5.16 (2025-02-06)
|
||||||
|
==========================
|
||||||
|
|
||||||
|
| Thanks to all these amazing people that contributed to this release:
|
||||||
|
| :ghuser:`Flame442`, :ghuser:`Jackenmen`
|
||||||
|
|
||||||
|
This is a hotfix release changing our implementation to prevent crash at startup
|
||||||
|
when invalid value of global locale/regional format configuration is encountered.
|
||||||
|
We have seen a few reports of this occurring and we believe that this was caused by
|
||||||
|
some 3rd-party cog(s) passing invalid values to Red <3.5 i18n APIs as those versions
|
||||||
|
did not validate the input in some scenarios. During startup, Red will now simply
|
||||||
|
log a warning, if it encounters incorrect global locale/regional format configuration
|
||||||
|
and reset it to a known valid value.
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
Redbot 3.5.15 (2025-02-03)
|
||||||
|
==========================
|
||||||
|
|
||||||
|
| Thanks to all these amazing people that contributed to this release:
|
||||||
|
| :ghuser:`aikaterna`, :ghuser:`Flame442`, :ghuser:`Jackenmen`, :ghuser:`Kowlin`
|
||||||
|
|
||||||
|
Read before updating
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
#. openSUSE Leap 15.5 is no longer supported as it has already reached its end of life.
|
||||||
|
|
||||||
|
#. Information for Audio users that are using an external Lavalink instance (if you don't know what that is, you should skip this point):
|
||||||
|
|
||||||
|
We've updated our default application.yml file and you should update your instance's ``application.yml`` accordingly.
|
||||||
|
More specifically, we bumped the version of YT source plugin.
|
||||||
|
`Download Red 3.5.15's default application.yml file <https://github.com/Cog-Creators/Red-DiscordBot/releases/download/3.5.15/Red-DiscordBot-3.5.15-default-lavalink-application.yml>`__
|
||||||
|
|
||||||
|
End-user changelog
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Changes
|
||||||
|
*******
|
||||||
|
|
||||||
|
- **Core - Dependencies** - Red's dependencies have been bumped (:issue:`6512`)
|
||||||
|
- **Core - OS Support** - openSUSE Leap 15.5 is no longer supported as it has already reached its end of life (:issue:`6512`)
|
||||||
|
- **Cogs - Audio** - The ``[p]audioset logs`` command can now be used in DMs (:issue:`6499`)
|
||||||
|
- **Cogs - Trivia - Lists** - Added subnet masks in CIDR notations as answers to subnet-related questions in the ``computers`` trivia (:issue:`6495`)
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
*****
|
||||||
|
|
||||||
|
- **Core - Bot Commands** - The ``[p]set api`` command no longer errors with long service names (:issue:`6478`, :issue:`6502`)
|
||||||
|
- |cool| **Cogs - Audio** - Fixed recent YT playback issues (:issue:`6509`, :issue:`6511`)
|
||||||
|
|
||||||
|
Developer changelog
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
Changes
|
||||||
|
*******
|
||||||
|
|
||||||
|
- **Core - i18n** - Added `redbot.core.i18n.set_contextual_locale()` and `redbot.core.i18n.set_contextual_regional_format()` functions (:issue:`6022`)
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
Redbot 3.5.14 (2024-12-25)
|
||||||
|
==========================
|
||||||
|
|
||||||
|
| Thanks to all these amazing people that contributed to this release:
|
||||||
|
| :ghuser:`aikaterna`, :ghuser:`Ascensionn`, :ghuser:`cswimr`, :ghuser:`Chovin`, :ghuser:`cdaman3141`, :ghuser:`DJTOMATO`, :ghuser:`Flame442`, :ghuser:`japandotorg`, :ghuser:`Jackenmen`, :ghuser:`karlsbjorn`, :ghuser:`Kowlin`, :ghuser:`kpopdev`, :ghuser:`kevin1015wang`, :ghuser:`Kreusada`, :ghuser:`mellow-org`, :ghuser:`palmtree5`, :ghuser:`sravan1946`, :ghuser:`TrustyJAID`
|
||||||
|
|
||||||
|
Read before updating
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
#. Following operating systems are no longer supported as they have already reached their end of life:
|
||||||
|
|
||||||
|
- Debian 11 (excluding Raspberry Pi OS 11)
|
||||||
|
- Fedora 39
|
||||||
|
- macOS 12 (Monterey)
|
||||||
|
|
||||||
|
#. Information for Audio users that are using an external Lavalink instance (if you don't know what that is, you should skip this point):
|
||||||
|
|
||||||
|
We've updated our default application.yml file and you should update your instance's ``application.yml`` accordingly.
|
||||||
|
More specifically, we bumped the version of YT source plugin.
|
||||||
|
`Download Red 3.5.14's default application.yml file <https://github.com/Cog-Creators/Red-DiscordBot/releases/download/3.5.14/Red-DiscordBot-3.5.14-default-lavalink-application.yml>`__
|
||||||
|
|
||||||
|
End-user changelog
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Additions
|
||||||
|
*********
|
||||||
|
|
||||||
|
- |cool| **Cogs - Mod** - Added new setting (``[p]modset requirereason``) for enforcing reason to be filled in cog's commands (:issue:`6477`)
|
||||||
|
|
||||||
|
Changes
|
||||||
|
*******
|
||||||
|
|
||||||
|
- |cool| **Core** - Updated the output from help command to enable use of the new copy to clipboard feature on Discord code blocks to copy the command input (:issue:`6244`)
|
||||||
|
- **Core** - Updated ID parser used by some (core and 3rd-party) commands to reject IDs that are larger than a Discord ID (snowflake) can be (:issue:`6431`, :issue:`6486`)
|
||||||
|
- |cool| **Core - Bot Commands** - The ``[p]slash disablecog`` and ``[p]slash enablecog`` commands can now be passed multiple cog names to disable/enable app commands from many cogs at the same time (:issue:`6001`)
|
||||||
|
- **Core - Dependencies** - Red's dependencies have been bumped (:issue:`6492`)
|
||||||
|
- **Core - OS Support** - Debian 11, Fedora 39, and macOS 12 (Monterey) are no longer supported as they have already reached end of life (:issue:`6492`)
|
||||||
|
- **Core - OS Support** - Ubuntu non-LTS version is currently considered unsupported due to lack of support for Python 3.12 from Red (:issue:`6492`)
|
||||||
|
- **Cogs - Audio** - The ``[p]play`` command will now mention how the URL restrictions can be disabled, if they're currently enabled (:issue:`6348`)
|
||||||
|
- **Cogs - Audio** - The Lavalink download process now has a separate, larger, timeout than the timeout for startup of the Lavalink process (:issue:`6460`, :issue:`6461`)
|
||||||
|
- **Cogs - Downloader** - Changed the format of the ``[p]repo list`` command's output to include repo links (:issue:`6284`)
|
||||||
|
- |cool| **Cogs - Warnings** - The ``[p]warn`` command will now prompt whether to ban the user, if that user has already left the server by the time the command was called (:issue:`6445`, :issue:`6481`)
|
||||||
|
- **Cogs - Trivia - Lists** - Added variants of the answers without punctuation to the ``harrypotter`` trivia list (:issue:`5889`)
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
*****
|
||||||
|
|
||||||
|
- **Core** - Fixed issues with permission handling for user-installable app commands (:issue:`6457`)
|
||||||
|
- **Core - Bot Commands** - Fixed uncaught error when running ``[p]load locales`` command (:issue:`4623`)
|
||||||
|
- |cool| **Cogs - Audio** - Fixed various issues with YT playback resulting in "Something broke when playing the track" error (:issue:`6488`, :issue:`6490`)
|
||||||
|
- **Cogs - Trivia - Lists** - Fixed typos in Golden Glove questions in the ``worldcup`` trivia list (:issue:`6441`)
|
||||||
|
|
||||||
|
Developer changelog
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
Additions
|
||||||
|
*********
|
||||||
|
|
||||||
|
- |cool| **Core - Bot Class** - Added `Red.get_app_command_id()` and `Red.get_app_command_mention()` methods for getting app command IDs/mentions from Red's cache (:issue:`5976`, :issue:`6278`)
|
||||||
|
- **Core - Utils Package** - Added `hyperlink()`, `header()`, and `subtext()` chat formatting functions (:issue:`6102`, :issue:`6444`)
|
||||||
|
- |cool| **Core - Utils Package** - Added `redbot.core.utils.chat_formatting.rich_markup()` function for generating Discord-compatible code blocks with ANSI formatting using a limited set of `Rich markup <https://rich.readthedocs.io/en/stable/markup.html>`__ (:issue:`5538`)
|
||||||
|
- **Cogs - Downloader** - Downloader will now replace ``[botname]`` in the install messages with the bot's name, same as is done for command help messages (:issue:`6443`)
|
||||||
|
|
||||||
|
Changes
|
||||||
|
*******
|
||||||
|
|
||||||
|
- **Core - Utils Package** - Added support for `SimpleMenu` to customize the select options before sending (:issue:`6455`, :issue:`6480`)
|
||||||
|
|
||||||
|
Deprecations
|
||||||
|
************
|
||||||
|
|
||||||
|
- **Core - Utils Package** - Deprecated `SimpleMenu.select_menu` attribute (:issue:`6480`)
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
*****
|
||||||
|
|
||||||
|
- **Core** - Fixed the cooldown bypass (enabled by ``[p]bypasscooldowns`` command) not being respected by the ``[p]slash sync`` command (:issue:`6465`)
|
||||||
|
- **Core - Commands Package** - Updated `RawUserIdConverter` to reject IDs that are larger than a Discord ID (snowflake) can be (:issue:`6431`, :issue:`6486`)
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
Redbot 3.5.13 (2024-08-27)
|
Redbot 3.5.13 (2024-08-27)
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
|
|||||||
2
docs/_templates/layout.html
vendored
2
docs/_templates/layout.html
vendored
@ -5,7 +5,7 @@
|
|||||||
<p class="first admonition-title">Warning</p>
|
<p class="first admonition-title">Warning</p>
|
||||||
<p class="last">
|
<p class="last">
|
||||||
This document is for Red's development version, which can be significantly different from previous releases.
|
This document is for Red's development version, which can be significantly different from previous releases.
|
||||||
If you're a regular user, you should read the <a href="{{ dict(versions)['stable'] }}">Red documentation for the current stable release</a>.
|
If you're a regular user, you should read the <a href="/{{ rtd_language }}/stable/">Red documentation for the current stable release</a>.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@ -4185,7 +4185,7 @@ slash disablecog
|
|||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
[p]slash disablecog <cog_name>
|
[p]slash disablecog <cog_names...>
|
||||||
|
|
||||||
**Description**
|
**Description**
|
||||||
|
|
||||||
@ -4195,7 +4195,7 @@ This command does NOT sync the enabled commands with Discord, that must be done
|
|||||||
with ``[p]slash sync`` for commands to appear in users' clients.
|
with ``[p]slash sync`` for commands to appear in users' clients.
|
||||||
|
|
||||||
**Arguments:**
|
**Arguments:**
|
||||||
- ``<cog_name>`` - The cog to disable commands from. This argument is case sensitive.
|
- ``<cog_names>`` - The cogs to disable commands from. This argument is case sensitive.
|
||||||
|
|
||||||
.. _core-command-slash-enable:
|
.. _core-command-slash-enable:
|
||||||
|
|
||||||
@ -4230,7 +4230,7 @@ slash enablecog
|
|||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
[p]slash enablecog <cog_name>
|
[p]slash enablecog <cog_names...>
|
||||||
|
|
||||||
**Description**
|
**Description**
|
||||||
|
|
||||||
@ -4240,7 +4240,7 @@ This command does NOT sync the enabled commands with Discord, that must be done
|
|||||||
with ``[p]slash sync`` for commands to appear in users' clients.
|
with ``[p]slash sync`` for commands to appear in users' clients.
|
||||||
|
|
||||||
**Arguments:**
|
**Arguments:**
|
||||||
- ``<cog_name>`` - The cog to enable commands from. This argument is case sensitive.
|
- ``<cog_names>`` - The cogs to enable commands from. This argument is case sensitive.
|
||||||
|
|
||||||
.. _core-command-slash-list:
|
.. _core-command-slash-list:
|
||||||
|
|
||||||
|
|||||||
@ -253,7 +253,23 @@ modset dm
|
|||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
[p]modset dm [enabled]
|
[p]modset dm
|
||||||
|
|
||||||
|
**Description**
|
||||||
|
|
||||||
|
Settings for messaging the user when being kicked or banned.
|
||||||
|
|
||||||
|
.. _mod-command-modset-dm-sendmessage:
|
||||||
|
|
||||||
|
"""""""""""""""""""""
|
||||||
|
modset dm sendmessage
|
||||||
|
"""""""""""""""""""""
|
||||||
|
|
||||||
|
**Syntax**
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
[p]modset dm sendmessage [enabled]
|
||||||
|
|
||||||
**Description**
|
**Description**
|
||||||
|
|
||||||
@ -266,6 +282,94 @@ and reason as to why they were kicked/banned.
|
|||||||
|
|
||||||
* ``[enabled]``: Whether a message should be sent to a user when they are kicked/banned. |bool-input|
|
* ``[enabled]``: Whether a message should be sent to a user when they are kicked/banned. |bool-input|
|
||||||
|
|
||||||
|
.. _mod-command-modset-banshowextrafield:
|
||||||
|
|
||||||
|
"""""""""""""""""""""""""""
|
||||||
|
modset dm banshowextrafield
|
||||||
|
"""""""""""""""""""""""""""
|
||||||
|
|
||||||
|
**Syntax**
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
[p]modset dm banshowextrafield [enabled]
|
||||||
|
|
||||||
|
**Description**
|
||||||
|
|
||||||
|
Toggle whether to show an extra customizable field when banning.
|
||||||
|
|
||||||
|
This can be used to add additional information for the banned user, such as a ban appeal link.
|
||||||
|
|
||||||
|
**Arguments**
|
||||||
|
|
||||||
|
* ``[enabled]``: If an extra customizable embed field should appear when banning. |bool-input|
|
||||||
|
|
||||||
|
.. _mod-command-modset-banextrafieldtitle:
|
||||||
|
|
||||||
|
""""""""""""""""""""""""""""
|
||||||
|
modset dm banextrafieldtitle
|
||||||
|
""""""""""""""""""""""""""""
|
||||||
|
|
||||||
|
**Syntax**
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
[p]modset dm banextrafieldtitle [title]
|
||||||
|
|
||||||
|
**Description**
|
||||||
|
|
||||||
|
Set the title for the optional extra embed on ban.
|
||||||
|
|
||||||
|
Cannot be over 252 characters long.
|
||||||
|
|
||||||
|
**Arguments**
|
||||||
|
|
||||||
|
* ``[title]``: The title of the embed field. Can by any string of text under 252 charcters long.
|
||||||
|
|
||||||
|
.. _mod-command-modset-banextrafieldcontents:
|
||||||
|
|
||||||
|
"""""""""""""""""""""""""""""""
|
||||||
|
modset dm banextrafieldcontents
|
||||||
|
"""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
|
**Syntax**
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
[p]modset dm banextrafieldcontents [contents]
|
||||||
|
|
||||||
|
**Description**
|
||||||
|
|
||||||
|
Set the contents for the optional extra embed on ban
|
||||||
|
|
||||||
|
Cannot be over 1024 characters long.
|
||||||
|
|
||||||
|
**Arguments**
|
||||||
|
|
||||||
|
* ``[contents]``: The contents of the embed field. Can by any string of text under 1024 charcters long.
|
||||||
|
|
||||||
|
.. _mod-command-modset-requirereason:
|
||||||
|
|
||||||
|
""""""""""""""""""""
|
||||||
|
modset requirereason
|
||||||
|
""""""""""""""""""""
|
||||||
|
|
||||||
|
**Syntax**
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
[p]modset requirereason [enabled]
|
||||||
|
|
||||||
|
**Description**
|
||||||
|
|
||||||
|
Toggle whether a reason is required for mod actions.
|
||||||
|
|
||||||
|
If this is enabled, the bot will require a reason to be provided for all mod actions.
|
||||||
|
|
||||||
|
**Arguments**
|
||||||
|
|
||||||
|
* ``[enabled]``: Whether a reason should be required when performing mod actions. |bool-input|
|
||||||
|
|
||||||
.. _mod-command-modset-hierarchy:
|
.. _mod-command-modset-hierarchy:
|
||||||
|
|
||||||
""""""""""""""""
|
""""""""""""""""
|
||||||
|
|||||||
@ -139,6 +139,9 @@ html_context = {
|
|||||||
"github_user": "Cog-Creators",
|
"github_user": "Cog-Creators",
|
||||||
"github_repo": "Red-DiscordBot",
|
"github_repo": "Red-DiscordBot",
|
||||||
"github_version": "V3/develop",
|
"github_version": "V3/develop",
|
||||||
|
"version_slug": os.environ.get("READTHEDOCS_VERSION", ""),
|
||||||
|
"rtd_language": os.environ.get("READTHEDOCS_LANGUAGE", ""),
|
||||||
|
"READTHEDOCS": os.environ.get("READTHEDOCS", "") == "True",
|
||||||
}
|
}
|
||||||
|
|
||||||
# Add any paths that contain custom static files (such as style sheets) here,
|
# Add any paths that contain custom static files (such as style sheets) here,
|
||||||
|
|||||||
@ -155,6 +155,22 @@ Here is an example of the :code:`async with` syntax:
|
|||||||
blah.append(new_blah)
|
blah.append(new_blah)
|
||||||
await ctx.send("The new blah value has been added!")
|
await ctx.send("The new blah value has been added!")
|
||||||
|
|
||||||
|
There is also a :py:meth:`Group.all` method. This will return all the stored data associated
|
||||||
|
with a specific config group as a :py:class:`dict`. By negating the need to excessively call config,
|
||||||
|
this method can be particularly useful when multiple values are to be retrieved from the same group.
|
||||||
|
|
||||||
|
Here is an example of :py:meth:`Group.all` usage:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
@commands.command()
|
||||||
|
async def getall(self, ctx):
|
||||||
|
all_global_data = await self.config.all()
|
||||||
|
await ctx.send("Foobar is {foobar}, foo baz is {foo_baz}".format(
|
||||||
|
foobar=str(all_global_data["foobar"]),
|
||||||
|
foo_baz=str(all_global_data["foo"]["baz"])
|
||||||
|
))
|
||||||
|
|
||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
|
|
||||||
@ -398,7 +414,7 @@ We're responsible pet owners here, so we've also got to have a way to feed our p
|
|||||||
# We could accomplish the same thing a slightly different way
|
# We could accomplish the same thing a slightly different way
|
||||||
await self.config.user(ctx.author).pets.get_attr(pet_name).hunger.set(new_hunger)
|
await self.config.user(ctx.author).pets.get_attr(pet_name).hunger.set(new_hunger)
|
||||||
|
|
||||||
await ctx.send("Your pet is now at {}/100 hunger!".format(new_hunger)
|
await ctx.send("Your pet is now at {}/100 hunger!".format(new_hunger))
|
||||||
|
|
||||||
Of course, if we're less than responsible pet owners, there are consequences::
|
Of course, if we're less than responsible pet owners, there are consequences::
|
||||||
|
|
||||||
@ -481,7 +497,7 @@ Config prioritizes being a safe data store without developers needing to
|
|||||||
know how end users have configured their bot.
|
know how end users have configured their bot.
|
||||||
|
|
||||||
This does come with some performance costs, so keep the following in mind when choosing to
|
This does come with some performance costs, so keep the following in mind when choosing to
|
||||||
develop using config
|
develop using config.
|
||||||
|
|
||||||
* Config use in events should be kept minimal and should only occur
|
* Config use in events should be kept minimal and should only occur
|
||||||
after confirming the event needs to interact with config
|
after confirming the event needs to interact with config
|
||||||
|
|||||||
@ -14,36 +14,96 @@ Basic Usage
|
|||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
from redbot.core import commands
|
from redbot.core import commands
|
||||||
from redbot.core.i18n import Translator, cog_i18n
|
from redbot.core.i18n import Translator, cog_i18n, set_contextual_locales_from_guild
|
||||||
|
|
||||||
|
# The translator should be defined in the module scope, with __file__ as the second parameter
|
||||||
_ = Translator("ExampleCog", __file__)
|
_ = Translator("ExampleCog", __file__)
|
||||||
|
|
||||||
|
# This decorator must be used for cog and command docstrings to be translated!
|
||||||
@cog_i18n(_)
|
@cog_i18n(_)
|
||||||
class ExampleCog:
|
class ExampleCog(commands.Cog):
|
||||||
"""description"""
|
"""Cog description"""
|
||||||
|
def __init__(self, bot):
|
||||||
|
self.bot = bot
|
||||||
|
|
||||||
@commands.command()
|
@commands.command()
|
||||||
async def mycom(self, ctx):
|
async def mycom(self, ctx):
|
||||||
"""command description"""
|
"""Command description"""
|
||||||
await ctx.send(_("This is a test command"))
|
# Correct way to translate strings:
|
||||||
|
await ctx.send(_("This is a test command run by {author}!").format(author=ctx.author.display_name))
|
||||||
|
|
||||||
|
# !!! Do not do this - String interpolation should happen after translation
|
||||||
|
await ctx.send(_("This is a test command run by {author}!".format(author=ctx.author.display_name)))
|
||||||
|
|
||||||
|
# !!! Do not use f-strings - String interpolation should happen after translation
|
||||||
|
await ctx.send(_(f"This is a test command run by {ctx.author.display_name}!"))
|
||||||
|
|
||||||
|
@commands.Cog.listener()
|
||||||
|
async def on_message(self, message):
|
||||||
|
# In non-command locations, you must manually call this method for guild locale settings to apply
|
||||||
|
await set_contextual_locales_from_guild(self.bot, message.guild)
|
||||||
|
if message.author.bot:
|
||||||
|
return
|
||||||
|
await message.channel.send(_("This is a non command with translation support!"))
|
||||||
|
|
||||||
--------
|
--------
|
||||||
Tutorial
|
Tutorial
|
||||||
--------
|
--------
|
||||||
|
|
||||||
After making your cog, generate a :code:`messages.pot` file
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
Preparing your cog for translations
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
We recommend using redgettext - a modified version of pygettext for Red.
|
The first step to adding translations to your cog is to add Red's internationalization framework
|
||||||
You can install redgettext by running :code:`pip install redgettext` in a command prompt.
|
to the strings in your cog. The first step is to instantiate an instance of
|
||||||
|
`redbot.core.i18n.Translator` just after the imports in each file. This object is traditionally
|
||||||
|
stored in the variable ``_`` to reduce its character count and visual impact on the code. Next,
|
||||||
|
add the `redbot.core.i18n.cog_i18n` decorator to your cog class. This will allow docstrings of
|
||||||
|
the class and its commands to be translated. Every user-facing string that is not a docstring
|
||||||
|
should then be wrapped by the Translator object. If variables are included in a string,
|
||||||
|
``.format()`` must be used, and should be called after the translation function call. This is
|
||||||
|
because ``.format()`` within the translation function call and f-strings cause the interpolation
|
||||||
|
to happen **before** the translation is applied. The translation logic needs to match the template
|
||||||
|
string to translate it, and will be unable to successfully match after interpolation occurs.
|
||||||
|
Finally, any non-command portions of your code, including listeners, tasks, and views, should call
|
||||||
|
`redbot.core.i18n.set_contextual_locales_from_guild` prior to translating any strings, as only
|
||||||
|
commands are able to implicitly determine which guild's configured locale to use. See the example
|
||||||
|
above for the exact recommended syntax.
|
||||||
|
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
Generating a messages.pot file
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
A ``messages.pot`` file is a template for translating all of the strings in your cog. It should
|
||||||
|
be generated using ``redgettext`` - a modified version of ``pygettext`` for use with Red cogs.
|
||||||
|
You can install ``redgettext`` by running :code:`pip install redgettext` in your development
|
||||||
|
environment.
|
||||||
|
|
||||||
|
Once you have ``redgettext`` installed, you will now need to run
|
||||||
|
|
||||||
|
:code:`python -m redgettext -c [path_to_cog_folder]`
|
||||||
|
|
||||||
|
This will generate a ``messages.pot`` file in ``path_to_cog_folder/locales``. This file will
|
||||||
|
contain all strings to be translated, including docstrings.
|
||||||
|
|
||||||
To generate the :code:`messages.pot` file, you will now need to run
|
|
||||||
:code:`python -m redgettext -c [path_to_cog]`
|
|
||||||
This file will contain all strings to be translated, including
|
|
||||||
docstrings.
|
|
||||||
(For advanced usage check :code:`python -m redgettext -h`)
|
(For advanced usage check :code:`python -m redgettext -h`)
|
||||||
|
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
Creating language specific translations
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
You can now use a tool like `poedit
|
You can now use a tool like `poedit
|
||||||
<https://poedit.net/>`_ to translate the strings in your messages.pot file.
|
<https://poedit.net/>`_ to translate the strings in your ``messages.pot`` file.
|
||||||
|
|
||||||
|
Alternatively, you can use any text editor to manually create translations. To do this, first
|
||||||
|
create a copy of the ``messages.pot`` file in the same folder, and name the copy
|
||||||
|
``LANGUAGE-CODE.po``, where ``LANGUAGE-CODE`` is a five character language code supported by
|
||||||
|
``[p]set locale``. Open the copy in your text editor of choice. This file contains the strings
|
||||||
|
in your cog prefixed by ``msgid`` and an empty string for you to apply translations prefixed by
|
||||||
|
``msgstr``. The original string should be translated to the target language by modifying the
|
||||||
|
associated ``msgstr``. Any variables within curly braces should **not** be translated to avoid
|
||||||
|
breaking the code when translations are applied. If keyword arguments were used in ``.format()``
|
||||||
|
calls, it may be safe to re-order variables if the grammer of the language requires doing so.
|
||||||
|
|
||||||
-------------
|
-------------
|
||||||
API Reference
|
API Reference
|
||||||
@ -51,4 +111,4 @@ API Reference
|
|||||||
|
|
||||||
.. automodule:: redbot.core.i18n
|
.. automodule:: redbot.core.i18n
|
||||||
:members:
|
:members:
|
||||||
:special-members: __call__
|
:special-members: __call__, __init__
|
||||||
|
|||||||
@ -47,7 +47,7 @@ Keys common to both repo and cog info.json (case sensitive)
|
|||||||
is installed or a repo is added
|
is installed or a repo is added
|
||||||
|
|
||||||
.. tip:: You can use the ``[p]`` key in your string to use the prefix
|
.. tip:: You can use the ``[p]`` key in your string to use the prefix
|
||||||
used for installing.
|
used for installing, and ``[botname]`` to show the bot's username.
|
||||||
|
|
||||||
- ``short`` (string) - A short description of the cog or repo. For cogs, this info
|
- ``short`` (string) - A short description of the cog or repo. For cogs, this info
|
||||||
is displayed when a user executes ``[p]cog list``
|
is displayed when a user executes ``[p]cog list``
|
||||||
|
|||||||
@ -16,6 +16,17 @@ For Developers
|
|||||||
Removals
|
Removals
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|
||||||
|
``SimpleMenu.select_menu`` attribute
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. deprecated-removed:: 3.5.14 60
|
||||||
|
|
||||||
|
The `SimpleMenu.select_menu` attribute has been deprecated.
|
||||||
|
|
||||||
|
Any behaviour enabled by the usage of this attribute should no longer be depended on.
|
||||||
|
If you need this for something and cannot replace it with the other functionality,
|
||||||
|
create an issue on Red's issue tracker.
|
||||||
|
|
||||||
Downloader's shared libraries
|
Downloader's shared libraries
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
Installing the pre-requirements
|
Installing the pre-requirements
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
Red Hat Enterprise Linux (RHEL) 8.8-8.x and its derivatives have all required packages available in official repositories.
|
Red Hat Enterprise Linux (RHEL) 8.10 and its derivatives have all required packages available in official repositories.
|
||||||
Install them with dnf:
|
Install them with dnf:
|
||||||
|
|
||||||
.. prompt:: bash
|
.. prompt:: bash
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
Installing the pre-requirements
|
Installing the pre-requirements
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
Red Hat Enterprise Linux (RHEL) 9.2-9.x and its derivatives have all required packages available in official repositories.
|
Red Hat Enterprise Linux (RHEL) 9.4-9.x and its derivatives have all required packages available in official repositories.
|
||||||
Install them with dnf:
|
Install them with dnf:
|
||||||
|
|
||||||
.. prompt:: bash
|
.. prompt:: bash
|
||||||
|
|||||||
@ -1,27 +0,0 @@
|
|||||||
.. _install-debian-11:
|
|
||||||
|
|
||||||
====================================
|
|
||||||
Installing Red on Debian 11 Bullseye
|
|
||||||
====================================
|
|
||||||
|
|
||||||
.. include:: _includes/supported-arch-x64+aarch64+armv7l.rst
|
|
||||||
|
|
||||||
.. include:: _includes/linux-preamble.rst
|
|
||||||
|
|
||||||
-------------------------------
|
|
||||||
Installing the pre-requirements
|
|
||||||
-------------------------------
|
|
||||||
|
|
||||||
Debian 11 "Bullseye" has all required packages available in official repositories. Install them
|
|
||||||
with apt:
|
|
||||||
|
|
||||||
.. prompt:: bash
|
|
||||||
|
|
||||||
sudo apt update
|
|
||||||
sudo apt -y install python3 python3-dev python3-venv git openjdk-17-jre-headless build-essential nano
|
|
||||||
|
|
||||||
.. Include common instructions:
|
|
||||||
|
|
||||||
.. include:: _includes/create-env-with-venv3.9.rst
|
|
||||||
|
|
||||||
.. include:: _includes/install-and-setup-red-unix.rst
|
|
||||||
@ -12,12 +12,14 @@ Installing Red on Fedora Linux
|
|||||||
Installing the pre-requirements
|
Installing the pre-requirements
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
Fedora Linux 39 and above has all required packages available in official repositories. Install
|
Fedora Linux 41 and above has all required packages available in official repositories. Install
|
||||||
them with dnf:
|
them with dnf:
|
||||||
|
|
||||||
.. prompt:: bash
|
.. prompt:: bash
|
||||||
|
|
||||||
sudo dnf -y install python3.11 python3.11-devel git java-17-openjdk-headless @development-tools nano
|
sudo dnf -y install python3.11 python3.11-devel git adoptium-temurin-java-repository @development-tools nano
|
||||||
|
sudo dnf config-manager setopt adoptium-temurin-java-repository.enabled=1
|
||||||
|
sudo dnf -y install temurin-17-jre
|
||||||
|
|
||||||
.. Include common instructions:
|
.. Include common instructions:
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,6 @@ we recommend **Ubuntu 24.04 LTS**.
|
|||||||
amazon-linux-2023
|
amazon-linux-2023
|
||||||
arch
|
arch
|
||||||
centos-stream-9
|
centos-stream-9
|
||||||
debian-11
|
|
||||||
debian-12
|
debian-12
|
||||||
fedora
|
fedora
|
||||||
opensuse-leap-15
|
opensuse-leap-15
|
||||||
@ -31,7 +30,6 @@ we recommend **Ubuntu 24.04 LTS**.
|
|||||||
rhel-9
|
rhel-9
|
||||||
rocky-linux-8
|
rocky-linux-8
|
||||||
rocky-linux-9
|
rocky-linux-9
|
||||||
ubuntu-2004
|
|
||||||
ubuntu-2204
|
ubuntu-2204
|
||||||
ubuntu-2404
|
ubuntu-2404
|
||||||
ubuntu-non-lts
|
ubuntu-non-lts
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
.. _install-opensuse-leap-15:
|
.. _install-opensuse-leap-15:
|
||||||
|
|
||||||
=====================================
|
=====================================
|
||||||
Installing Red on openSUSE Leap 15.5+
|
Installing Red on openSUSE Leap 15.6+
|
||||||
=====================================
|
=====================================
|
||||||
|
|
||||||
.. include:: _includes/supported-arch-x64+aarch64.rst
|
.. include:: _includes/supported-arch-x64+aarch64.rst
|
||||||
@ -12,7 +12,7 @@ Installing Red on openSUSE Leap 15.5+
|
|||||||
Installing the pre-requirements
|
Installing the pre-requirements
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
openSUSE Leap 15.5+ has all required dependencies available in official repositories. Install them
|
openSUSE Leap 15.6+ has all required dependencies available in official repositories. Install them
|
||||||
with zypper:
|
with zypper:
|
||||||
|
|
||||||
.. prompt:: bash
|
.. prompt:: bash
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
.. _install-rhel-8:
|
.. _install-rhel-8:
|
||||||
|
|
||||||
=========================================================
|
======================================================
|
||||||
Installing Red on Red Hat Enterprise Linux (RHEL) 8.8-8.x
|
Installing Red on Red Hat Enterprise Linux (RHEL) 8.10
|
||||||
=========================================================
|
======================================================
|
||||||
|
|
||||||
.. include:: _includes/install-guide-rhel8-derivatives.rst
|
.. include:: _includes/install-guide-rhel8-derivatives.rst
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
.. _install-rhel-9:
|
.. _install-rhel-9:
|
||||||
|
|
||||||
=========================================================
|
=========================================================
|
||||||
Installing Red on Red Hat Enterprise Linux (RHEL) 9.2-9.x
|
Installing Red on Red Hat Enterprise Linux (RHEL) 9.4-9.x
|
||||||
=========================================================
|
=========================================================
|
||||||
|
|
||||||
.. include:: _includes/install-guide-rhel9-derivatives.rst
|
.. include:: _includes/install-guide-rhel9-derivatives.rst
|
||||||
|
|||||||
@ -1,27 +0,0 @@
|
|||||||
.. _install-ubuntu-2004:
|
|
||||||
|
|
||||||
==================================
|
|
||||||
Installing Red on Ubuntu 20.04 LTS
|
|
||||||
==================================
|
|
||||||
|
|
||||||
.. include:: _includes/supported-arch-x64+aarch64.rst
|
|
||||||
|
|
||||||
.. include:: _includes/linux-preamble.rst
|
|
||||||
|
|
||||||
-------------------------------
|
|
||||||
Installing the pre-requirements
|
|
||||||
-------------------------------
|
|
||||||
|
|
||||||
Ubuntu 20.04 LTS has all required packages available in official repositories. Install them
|
|
||||||
with apt:
|
|
||||||
|
|
||||||
.. prompt:: bash
|
|
||||||
|
|
||||||
sudo apt update
|
|
||||||
sudo apt -y install python3.9 python3.9-dev python3.9-venv git openjdk-17-jre-headless build-essential nano
|
|
||||||
|
|
||||||
.. Include common instructions:
|
|
||||||
|
|
||||||
.. include:: _includes/create-env-with-venv3.9.rst
|
|
||||||
|
|
||||||
.. include:: _includes/install-and-setup-red-unix.rst
|
|
||||||
@ -4,23 +4,10 @@
|
|||||||
Installing Red on Ubuntu non-LTS versions
|
Installing Red on Ubuntu non-LTS versions
|
||||||
=========================================
|
=========================================
|
||||||
|
|
||||||
.. include:: _includes/supported-arch-x64+aarch64.rst
|
Latest Ubuntu non-LTS version (24.10 at the time of writing) is not supported at current time
|
||||||
|
due to lack of availability of Python 3.11 or older in its repositories.
|
||||||
|
|
||||||
.. include:: _includes/linux-preamble.rst
|
The support should come back once we get back on track with supporting current Python versions.
|
||||||
|
|
||||||
-------------------------------
|
We recommend usage of latest Ubuntu **LTS** versions instead, you can find
|
||||||
Installing the pre-requirements
|
`an install guide for Ubuntu 24.04 <ubuntu-2404>` in our docs.
|
||||||
-------------------------------
|
|
||||||
|
|
||||||
Now install the pre-requirements with apt:
|
|
||||||
|
|
||||||
.. prompt:: bash
|
|
||||||
|
|
||||||
sudo apt update
|
|
||||||
sudo apt -y install python3.11 python3.11-dev python3.11-venv git openjdk-17-jre-headless build-essential nano
|
|
||||||
|
|
||||||
.. Include common instructions:
|
|
||||||
|
|
||||||
.. include:: _includes/create-env-with-venv3.11.rst
|
|
||||||
|
|
||||||
.. include:: _includes/install-and-setup-red-unix.rst
|
|
||||||
|
|||||||
@ -8,40 +8,20 @@ About (privileged) intents and public bots
|
|||||||
==========================================
|
==========================================
|
||||||
|
|
||||||
This page aims to explain Red's current intents requirements,
|
This page aims to explain Red's current intents requirements,
|
||||||
our stance regarding "public bots" and the impact of some announced
|
our stance regarding "public bots", and the discord bot verification process.
|
||||||
Discord changes coming in April 2022.
|
|
||||||
|
|
||||||
To clarify:
|
To clarify:
|
||||||
|
|
||||||
- **Small bots** are bots under 100 servers. They currently do not need to undergo Discord's
|
- **Small bots** are bots under 100 servers. They currently do not need to undergo Discord's
|
||||||
bot verification process
|
bot verification process
|
||||||
- **Public bots** (or big bots) are bots that have reached 100 servers. They need to be
|
- **Public bots** (or big bots) are bots that have reached 100 servers. They need to be
|
||||||
`verified <https://support.discord.com/hc/en-us/articles/360040720412-Bot-Verification-and-Data-Whitelisting>`_
|
`verified <https://support-dev.discord.com/hc/en-us/articles/23926564536471-How-Do-I-Get-My-App-Verified>`_
|
||||||
by Discord to join more than 100 servers and gain privileged intents
|
by Discord to join more than 100 servers and gain privileged intents
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
It is **very** important that you fully read this page if you're the owner of a public bot or strive to scale your bot at that level.
|
It is **very** important that you fully read this page if you're the owner of a public bot or strive to scale your bot at that level.
|
||||||
|
|
||||||
.. _intents-intents:
|
|
||||||
|
|
||||||
-------
|
|
||||||
Intents
|
|
||||||
-------
|
|
||||||
|
|
||||||
Red currently requires **all intents** to be active in order to function properly.
|
|
||||||
|
|
||||||
The reason for this requirement is that there are some technical challenges that need
|
|
||||||
to be overcome before we're able to adapt Red to function with only *some* intents:
|
|
||||||
these challenges are mainly due to the modular / extensible nature of Red and the fact
|
|
||||||
that Red has a long history (dating back to 2016!), making big changes naturally slower
|
|
||||||
to happen. In comparison, intents have been introduced fairly recently. |br|
|
|
||||||
This is not a problem if you have a small bot: you can simply go to the
|
|
||||||
`Discord development portal <https://discord.com/developers/applications/me>`_
|
|
||||||
and enable them. However, if you have a public bot Discord will want you to attain
|
|
||||||
verified status: you should read :ref:`our stance regarding public bots <intents-public-bots>`
|
|
||||||
and our guidelines for the :ref:`verification process <intents-bot-verification-process>`.
|
|
||||||
|
|
||||||
.. _intents-public-bots:
|
.. _intents-public-bots:
|
||||||
|
|
||||||
-----------
|
-----------
|
||||||
@ -54,8 +34,10 @@ Red was designed with one single goal in mind: a bot that you can host on your o
|
|||||||
and customize to your needs, making it really *your* bot. **The target audience of Red are server
|
and customize to your needs, making it really *your* bot. **The target audience of Red are server
|
||||||
owners with a few servers**, often with specific needs that can be covered by the vast cog ecosystem
|
owners with a few servers**, often with specific needs that can be covered by the vast cog ecosystem
|
||||||
that the community has built over the years. |br| Red was never built with big bots in mind,
|
that the community has built over the years. |br| Red was never built with big bots in mind,
|
||||||
bots with thousands upon thousands of servers: these bots face unique challenges.
|
bots with thousands upon thousands of servers: these bots face unique challenges. Large bots need
|
||||||
Such Red instances *do exist*, it is not impossible to adapt Red and meet those criteria,
|
to be extremely efficient to handle the large amount of requests they receive, and often need to
|
||||||
|
distribute this work across multiple processes or machines to keep up.
|
||||||
|
Such Red instances *do exist*, and it is not impossible to adapt Red and meet those criteria,
|
||||||
but it requires work and bot owners with the technical knowledge to make it happen.
|
but it requires work and bot owners with the technical knowledge to make it happen.
|
||||||
It is **not** something that we support. |br|
|
It is **not** something that we support. |br|
|
||||||
When your bot reaches the public bot scale and it is therefore required to be verified it
|
When your bot reaches the public bot scale and it is therefore required to be verified it
|
||||||
@ -75,8 +57,8 @@ the verification process.
|
|||||||
|
|
||||||
Regardless of our stance, we do feel the need to give some pointers: many bot owners reach this point
|
Regardless of our stance, we do feel the need to give some pointers: many bot owners reach this point
|
||||||
and become fairly lost, as they've simply been *users* so far.
|
and become fairly lost, as they've simply been *users* so far.
|
||||||
They have installed their bot, some cogs, personalized it, yadda yadda. Again, they have been users,
|
They have installed their bot, some cogs, personalized it, but have not needed to write any code.
|
||||||
not developers. Unless they also have an interest in development, they will likely not have a clue about
|
Unless they also have an interest in development, they will likely not have a clue about
|
||||||
what's going under the hood, much like you're not expected to be a mechanic to drive your car. And there's
|
what's going under the hood, much like you're not expected to be a mechanic to drive your car. And there's
|
||||||
nothing wrong with that! Red has been designed to be as user friendly as possible. |br|
|
nothing wrong with that! Red has been designed to be as user friendly as possible. |br|
|
||||||
The problem is this: Red is an outlier. Discord has built the bot verification process with the expectation
|
The problem is this: Red is an outlier. Discord has built the bot verification process with the expectation
|
||||||
@ -94,41 +76,44 @@ out your application:
|
|||||||
of people that in their naivety went with the bad answer and it seems that at this point merely mentioning Red
|
of people that in their naivety went with the bad answer and it seems that at this point merely mentioning Red
|
||||||
is a guaranteed way to have your application rejected.
|
is a guaranteed way to have your application rejected.
|
||||||
|
|
||||||
.. _intents-slash-commands:
|
.. _intents-intents:
|
||||||
|
|
||||||
---------------------------------
|
-------
|
||||||
Message intent and slash commands
|
Intents
|
||||||
---------------------------------
|
-------
|
||||||
|
|
||||||
.. warning::
|
Red expects **all intents** to be active. It is possible, but not recommended, to disable
|
||||||
|
specific intents using the ``--disable-intent`` flag. If an intent is missing, you may
|
||||||
|
experience errors due to Red expecting information provided by the intent to be present.
|
||||||
|
|
||||||
If you own a public bot it is extremely important that you read this section.
|
Discord currently considers 3 intents to be
|
||||||
|
`privileged <https://support-dev.discord.com/hc/en-us/articles/6205754771351-How-do-I-get-Privileged-Intents-for-my-bot>`_,
|
||||||
|
and requires large bots to additionally apply for access to these intents. **If you have a small
|
||||||
|
bot**, you can simply follow :ref:`these instructions <enabling-privileged-intents>` to enable them.
|
||||||
|
|
||||||
Discord has announced that **starting April 2022** the content of users' messages
|
A breakdown of how privileged intents are used in Red is provided below.
|
||||||
`will be "locked" behind message intent <https://support-dev.discord.com/hc/en-us/articles/4404772028055>`_ |br|
|
|
||||||
If you're the owner of a small bot, fear not, this is yet another box that you have to tick from the
|
|
||||||
`Discord development portal <https://discord.com/developers/applications/me>`_. |br|
|
|
||||||
But if you're the owner of a public bot, things might be a lot less pleasant.
|
|
||||||
|
|
||||||
To recap, unless you have
|
The **Message Content** intent is required to use text based commands and inputs for
|
||||||
message intent, you will only receive message content for:
|
configuration and all built in functionality. App commands (also known as slash commands)
|
||||||
|
are limited to a total of 100 top level commands, which is difficult to manage on
|
||||||
|
a modular bot. The approach we have taken to address this issue is to allow 3rd party
|
||||||
|
cogs to provide slash commands, but require bot owners to pick which slash commands
|
||||||
|
they actually want to use with the ``[p]slash`` command.
|
||||||
|
Under this system, bot management commands that are not exposed to users are still
|
||||||
|
expected to be provided as text commands, which requires the bot to be able to access
|
||||||
|
message content. There are no current plans to provide slash versions of core commands.
|
||||||
|
|
||||||
- Messages that your bot sends
|
.. note::
|
||||||
- Messages that your bot receives in DM
|
It is possible to work around this intent by using the ``--mentionable``
|
||||||
- Messages in which your bot is mentioned
|
flag, and using the bot mention as a prefix to use text based commands.
|
||||||
|
|
||||||
In case it's not clear by now, your bot needs message content to parse (see) the commands it receives. And if
|
The **Guild Members** intent is required to properly cache member information, including
|
||||||
you don't attain message intent, your bot will not be able to... well, do anything. |br|
|
what users are in each server, what roles they have, what their name is, etc. It is also
|
||||||
The *bandaid fix* is for you to change your bot's prefix to a mention and a good portion of your commands will likely
|
required to receive events corresponding to when members join or leave a server, and when
|
||||||
still work. You will however lose many functions, namely anything that relies on seeing message content to act. |br|
|
they change their nickname or other server options. Almost all cogs expect to be able
|
||||||
The more *proper fix* is also not easy. You will need to justify your need for the message intent to Discord and
|
to reference the member cache in order to avoid making API requests, and are not set
|
||||||
they will only accept "compelling use cases".
|
up to check if the intent is present before doing so.
|
||||||
`It is not known what those even entail <https://gist.github.com/spiralw/091714718718379b6efcdbcaf807a024#q-what-usecases-will-be-valid>`_ at this point, but they have already stated that "parsing commands" is not a valid justification. |br|
|
|
||||||
To make the matter worse, Discord is making `a huge push for all bot developers to implement slash commands <https://support.discord.com/hc/en-us/articles/1500000368501-Slash-Commands-FAQ>`_, which at the moment
|
The **Guild Presences** intent is required to view the activities and status of
|
||||||
are rather lacking in features and cannot cover all the functionalities that standard commands offer. |br|
|
users. Cogs which perform actions on users based on their activity or status will
|
||||||
Discord staff
|
be unable to access this information if this intent is not enabled.
|
||||||
`stated that they will want your bot to have slash commands when you ask for message intent <https://gist.github.com/spiralw/091714718718379b6efcdbcaf807a024#q-if-we-are-granted-this-intent-will-bots-be-sanctioned-if-they-use-it-for-their-own-use-case-but-also-to-continue-to-run-normal-non-slash-commands-or-do-we-assume-that-if-you-are-granted-the-intent-you-are-trusted-with-it-and-are-allowed-to-use-it-for-additional-uses>`_. |br|
|
|
||||||
Slash commands might very well turn out to be a big undertaking for the Red team to implement, even more now that our
|
|
||||||
underlying library, `discord.py <https://github.com/Rapptz/discord.py>`_, has been discontinued. |br|
|
|
||||||
The time window that Discord is giving us to adapt is very narrow: **Red will likely not be able to support slash
|
|
||||||
commands for April 2022** and you should plan accordingly.
|
|
||||||
|
|||||||
@ -52,35 +52,31 @@ Operating system version Supported architectures Ideally supported u
|
|||||||
================================ ======================= ============================================================
|
================================ ======================= ============================================================
|
||||||
Windows 10 x86-64 2025-10-14 (`End/Retirement Date <https://docs.microsoft.com/en-us/lifecycle/products/windows-10-home-and-pro>`__)
|
Windows 10 x86-64 2025-10-14 (`End/Retirement Date <https://docs.microsoft.com/en-us/lifecycle/products/windows-10-home-and-pro>`__)
|
||||||
Windows 11 x86-64 `Retirement Date <https://docs.microsoft.com/en-us/lifecycle/products/windows-11-home-and-pro-version-21h2>`__
|
Windows 11 x86-64 `Retirement Date <https://docs.microsoft.com/en-us/lifecycle/products/windows-11-home-and-pro-version-21h2>`__
|
||||||
macOS 12 (Monterey) x86-64, aarch64 ~2024-10
|
|
||||||
macOS 13 (Ventura) x86-64, aarch64 ~2025-10
|
macOS 13 (Ventura) x86-64, aarch64 ~2025-10
|
||||||
macOS 14 (Sonoma) x86-64, aarch64 ~2026-10
|
macOS 14 (Sonoma) x86-64, aarch64 ~2026-10
|
||||||
Alma Linux 8 x86-64, aarch64 2029-05-31 (`How long will CloudLinux support AlmaLinux? <https://wiki.almalinux.org/FAQ.html#how-long-will-almalinux-be-supported>`__)
|
macOS 15 (Sequoia) x86-64, aarch64 ~2027-10
|
||||||
Alma Linux 9 x86-64, aarch64 2032-05-31
|
Alma Linux 8 x86-64, aarch64 2029-05-31 (`security support <https://wiki.almalinux.org/release-notes/>`__)
|
||||||
|
Alma Linux 9 x86-64, aarch64 2032-05-31 (`security support <https://wiki.almalinux.org/release-notes/>`__)
|
||||||
Amazon Linux 2023 x86-64, aarch64 2028-03-15 (`end-of-life <https://docs.aws.amazon.com/linux/al2023/release-notes/support-info-by-support-statement.html#support-info-by-support-statement-eol>`__)
|
Amazon Linux 2023 x86-64, aarch64 2028-03-15 (`end-of-life <https://docs.aws.amazon.com/linux/al2023/release-notes/support-info-by-support-statement.html#support-info-by-support-statement-eol>`__)
|
||||||
Arch Linux x86-64 forever (support is only provided for an up-to-date system)
|
Arch Linux x86-64 forever (support is only provided for an up-to-date system)
|
||||||
CentOS Stream 9 x86-64, aarch64 2027-05-31 (`expected EOL <https://centos.org/stream9/#timeline>`__)
|
CentOS Stream 9 x86-64, aarch64 2027-05-31 (`expected EOL <https://centos.org/stream9/#timeline>`__)
|
||||||
Debian 11 Bullseye x86-64, aarch64, armv7l ~2024-07 (`End of life <https://wiki.debian.org/DebianReleases#Production_Releases>`__)
|
Debian 12 Bookworm x86-64, aarch64, armv7l 2026-06-10 (`End of life <https://wiki.debian.org/DebianReleases#Production_Releases>`__)
|
||||||
Debian 12 Bookworm x86-64, aarch64, armv7l ~2026-09 (`End of life <https://wiki.debian.org/DebianReleases#Production_Releases>`__)
|
Fedora Linux 41 x86-64, aarch64 2025-11-19 (`End of Life <https://docs.fedoraproject.org/en-US/releases/lifecycle/#_maintenance_schedule>`__)
|
||||||
Fedora Linux 39 x86-64, aarch64 2024-11-12 (`End of Life <https://docs.fedoraproject.org/en-US/releases/lifecycle/#_maintenance_schedule>`__)
|
Fedora Linux 42 x86-64, aarch64 2026-05-13 (`End of Life <https://docs.fedoraproject.org/en-US/releases/lifecycle/#_maintenance_schedule>`__)
|
||||||
Fedora Linux 40 x86-64, aarch64 2025-05-13 (`End of Life <https://docs.fedoraproject.org/en-US/releases/lifecycle/#_maintenance_schedule>`__)
|
openSUSE Leap 15.6 x86-64, aarch64 2025-12-31 (`end of maintenance life cycle <https://en.opensuse.org/Lifetime#openSUSE_Leap>`__)
|
||||||
openSUSE Leap 15.5 x86-64, aarch64 2024-12-31 (`end of maintenance life cycle <https://en.opensuse.org/Lifetime#openSUSE_Leap>`__)
|
|
||||||
openSUSE Tumbleweed x86-64, aarch64 forever (support is only provided for an up-to-date system)
|
openSUSE Tumbleweed x86-64, aarch64 forever (support is only provided for an up-to-date system)
|
||||||
Oracle Linux 8 x86-64, aarch64 2029-07-31 (`End of Premier Support <https://www.oracle.com/us/support/library/elsp-lifetime-069338.pdf>`__)
|
Oracle Linux 8 x86-64, aarch64 2029-07-31 (`End of Premier Support <https://www.oracle.com/us/support/library/elsp-lifetime-069338.pdf>`__)
|
||||||
Oracle Linux 9 x86-64, aarch64 2032-06-31 (`End of Premier Support <https://www.oracle.com/us/support/library/elsp-lifetime-069338.pdf>`__)
|
Oracle Linux 9 x86-64, aarch64 2032-06-31 (`End of Premier Support <https://www.oracle.com/us/support/library/elsp-lifetime-069338.pdf>`__)
|
||||||
Raspberry Pi OS (Legacy) 11 armv7l ~2025-10 (approximate date of release of Raspberry Pi OS 13)
|
Raspberry Pi OS (Legacy) 11 armv7l ~2025-10 (approximate date of release of Raspberry Pi OS 13)
|
||||||
Raspberry Pi OS 12 aarch64, armv7l ~2025-10 (approximate date of release of Raspberry Pi OS 13)
|
Raspberry Pi OS 12 aarch64, armv7l ~2025-10 (approximate date of release of Raspberry Pi OS 13)
|
||||||
RHEL 8 (latest) x86-64, aarch64 2029-05-31 (`End of Maintenance Support <https://access.redhat.com/support/policy/updates/errata#Life_Cycle_Dates>`__)
|
RHEL 8 (latest) x86-64, aarch64 2029-05-31 (`End of Maintenance Support <https://access.redhat.com/support/policy/updates/errata#Life_Cycle_Dates>`__)
|
||||||
RHEL 8.8 x86-64, aarch64 2025-05-31 (`End of Extended Update Support <https://access.redhat.com/support/policy/updates/errata#Extended_Update_Support>`__)
|
|
||||||
RHEL 8.10 x86-64, aarch64 2029-05-31 (`End of Extended Update Support <https://access.redhat.com/support/policy/updates/errata#Extended_Update_Support>`__)
|
RHEL 8.10 x86-64, aarch64 2029-05-31 (`End of Extended Update Support <https://access.redhat.com/support/policy/updates/errata#Extended_Update_Support>`__)
|
||||||
RHEL 9 (latest) x86-64, aarch64 2032-05-31 (`End of Maintenance Support <https://access.redhat.com/support/policy/updates/errata#Life_Cycle_Dates>`__)
|
RHEL 9 (latest) x86-64, aarch64 2032-05-31 (`End of Maintenance Support <https://access.redhat.com/support/policy/updates/errata#Life_Cycle_Dates>`__)
|
||||||
RHEL 9.2 x86-64, aarch64 2025-05-31 (`End of Extended Update Support <https://access.redhat.com/support/policy/updates/errata#Extended_Update_Support>`__)
|
|
||||||
RHEL 9.4 x86-64, aarch64 2026-04-30 (`End of Extended Update Support <https://access.redhat.com/support/policy/updates/errata#Extended_Update_Support>`__)
|
RHEL 9.4 x86-64, aarch64 2026-04-30 (`End of Extended Update Support <https://access.redhat.com/support/policy/updates/errata#Extended_Update_Support>`__)
|
||||||
Rocky Linux 8 x86-64, aarch64 2029-05-31 (`end-of-life <https://rockylinux.org/download/>`__)
|
RHEL 9.6 x86-64, aarch64 2027-05-31 (`End of Extended Update Support <https://access.redhat.com/support/policy/updates/errata#Extended_Update_Support>`__)
|
||||||
Rocky Linux 9 x86-64, aarch64 2032-05-31 (`end-of-life <https://rockylinux.org/download/>`__)
|
Rocky Linux 8 x86-64, aarch64 2029-05-31 (`(i) Planned EOL <https://rockylinux.org/download>`__)
|
||||||
Ubuntu 20.04 LTS x86-64, aarch64 2025-06-30 (`End of Standard Support <https://wiki.ubuntu.com/Releases#Current>`__)
|
Rocky Linux 9 x86-64, aarch64 2032-05-31 (`(i) Planned EOL <https://rockylinux.org/download>`__)
|
||||||
Ubuntu 22.04 LTS x86-64, aarch64 2027-06-30 (`End of Standard Support <https://wiki.ubuntu.com/Releases#Current>`__)
|
Ubuntu 22.04 LTS x86-64, aarch64 2027-06-30 (`End of Standard Support <https://wiki.ubuntu.com/Releases#Current>`__)
|
||||||
Ubuntu 23.10 x86-64, aarch64 2024-07-31 (`End of Standard Support <https://wiki.ubuntu.com/Releases#Current>`__)
|
|
||||||
Ubuntu 24.04 LTS x86-64, aarch64 2029-06-30 (`End of Standard Support <https://wiki.ubuntu.com/Releases#Current>`__)
|
Ubuntu 24.04 LTS x86-64, aarch64 2029-06-30 (`End of Standard Support <https://wiki.ubuntu.com/Releases#Current>`__)
|
||||||
================================ ======================= ============================================================
|
================================ ======================= ============================================================
|
||||||
|
|
||||||
|
|||||||
@ -339,7 +339,7 @@ def _early_init():
|
|||||||
|
|
||||||
|
|
||||||
# This is bumped automatically by release workflow (`.github/workflows/scripts/bump_version.py`)
|
# This is bumped automatically by release workflow (`.github/workflows/scripts/bump_version.py`)
|
||||||
_VERSION = "3.5.13"
|
_VERSION = "3.5.23.dev1"
|
||||||
|
|
||||||
__version__, version_info = VersionInfo._get_version()
|
__version__, version_info = VersionInfo._get_version()
|
||||||
|
|
||||||
|
|||||||
323
redbot/cogs/admin/locales/et-EE.po
generated
Normal file
323
redbot/cogs/admin/locales/et-EE.po
generated
Normal file
@ -0,0 +1,323 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: red-discordbot\n"
|
||||||
|
"POT-Creation-Date: 2023-06-14 02:57+0000\n"
|
||||||
|
"Last-Translator: \n"
|
||||||
|
"Language-Team: Estonian\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: redgettext 3.4.2\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
"X-Crowdin-Project: red-discordbot\n"
|
||||||
|
"X-Crowdin-Project-ID: 289505\n"
|
||||||
|
"X-Crowdin-Language: et\n"
|
||||||
|
"X-Crowdin-File-ID: 42\n"
|
||||||
|
"Language: et_EE\n"
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:20
|
||||||
|
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:25
|
||||||
|
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:31
|
||||||
|
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:37
|
||||||
|
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:43
|
||||||
|
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:49
|
||||||
|
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:55
|
||||||
|
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:61
|
||||||
|
msgid "I need the \"Manage Roles\" permission to do that."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:63
|
||||||
|
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:73
|
||||||
|
#, docstring
|
||||||
|
msgid "A collection of server administration utilities."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:159
|
||||||
|
msgid "{member.display_name} already has the role {role.name}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:180
|
||||||
|
msgid "I successfully added {role.name} to {member.display_name}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:190
|
||||||
|
msgid "{member.display_name} does not have the role {role.name}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:211
|
||||||
|
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:226
|
||||||
|
#, docstring
|
||||||
|
msgid "\n"
|
||||||
|
" Add a role to a user.\n\n"
|
||||||
|
" Use double quotes if the role contains spaces.\n"
|
||||||
|
" If user is left blank it defaults to the author of the command.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:244
|
||||||
|
#, docstring
|
||||||
|
msgid "\n"
|
||||||
|
" Remove a role from a user.\n\n"
|
||||||
|
" Use double quotes if the role contains spaces.\n"
|
||||||
|
" If user is left blank it defaults to the author of the command.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:256
|
||||||
|
#, docstring
|
||||||
|
msgid "Edit role settings."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:263
|
||||||
|
#, docstring
|
||||||
|
msgid "\n"
|
||||||
|
" Edit a role's colour.\n\n"
|
||||||
|
" Use double quotes if the role contains spaces.\n"
|
||||||
|
" Colour must be in hexadecimal format.\n"
|
||||||
|
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
|
||||||
|
" Examples:\n"
|
||||||
|
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
|
||||||
|
" `[p]editrole colour Test #ff9900`\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:275
|
||||||
|
msgid "{author} ({author.id}) changed the colour of role '{role.name}'"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:294 redbot/cogs/admin/admin.py:327
|
||||||
|
msgid "Done."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:298
|
||||||
|
#, docstring
|
||||||
|
msgid "\n"
|
||||||
|
" Edit a role's name.\n\n"
|
||||||
|
" Use double quotes if the role or the name contain spaces.\n\n"
|
||||||
|
" Example:\n"
|
||||||
|
" `[p]editrole name \"The Transistor\" Test`\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:308
|
||||||
|
msgid "{author} ({author.id}) changed the name of role '{old_name}' to '{name}'"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:332
|
||||||
|
#, docstring
|
||||||
|
msgid "Announce a message to all servers the bot is in."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:339
|
||||||
|
msgid "The announcement has begun."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:346
|
||||||
|
#, docstring
|
||||||
|
msgid "Cancel a running announce."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:348
|
||||||
|
msgid "There is no currently running announcement."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:351
|
||||||
|
msgid "The current announcement has been cancelled."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:357
|
||||||
|
#, docstring
|
||||||
|
msgid "Change how announcements are sent in this guild."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:367
|
||||||
|
#, docstring
|
||||||
|
msgid "Change the channel where the bot will send announcements."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:370
|
||||||
|
msgid "The announcement channel has been set to {channel.mention}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:375
|
||||||
|
#, docstring
|
||||||
|
msgid "Unsets the channel for announcements."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:400
|
||||||
|
#, docstring
|
||||||
|
msgid "\n"
|
||||||
|
" Add or remove a selfrole from yourself.\n\n"
|
||||||
|
" Server admins must have configured the role as user settable.\n"
|
||||||
|
" NOTE: The role is case sensitive!\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:413
|
||||||
|
#, docstring
|
||||||
|
msgid "\n"
|
||||||
|
" Add a selfrole to yourself.\n\n"
|
||||||
|
" Server admins must have configured the role as user settable.\n"
|
||||||
|
" NOTE: The role is case sensitive!\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:424
|
||||||
|
#, docstring
|
||||||
|
msgid "\n"
|
||||||
|
" Remove a selfrole from yourself.\n\n"
|
||||||
|
" Server admins must have configured the role as user settable.\n"
|
||||||
|
" NOTE: The role is case sensitive!\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:435
|
||||||
|
#, docstring
|
||||||
|
msgid "\n"
|
||||||
|
" Lists all available selfroles.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:445
|
||||||
|
msgid "Available Selfroles:\n"
|
||||||
|
"{selfroles}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:451
|
||||||
|
#, docstring
|
||||||
|
msgid "Manage selfroles."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:456
|
||||||
|
#, docstring
|
||||||
|
msgid "\n"
|
||||||
|
" Add a role, or a selection of roles, to the list of available selfroles.\n\n"
|
||||||
|
" NOTE: The role is case sensitive!\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:465
|
||||||
|
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:475
|
||||||
|
msgid "The role \"{role.name}\" is already a selfrole."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:481
|
||||||
|
msgid "Added {count} selfroles."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:483
|
||||||
|
msgid "Added 1 selfrole."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:489
|
||||||
|
#, docstring
|
||||||
|
msgid "\n"
|
||||||
|
" Remove a role, or a selection of roles, from the list of available selfroles.\n\n"
|
||||||
|
" NOTE: The role is case sensitive!\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:498
|
||||||
|
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:508
|
||||||
|
msgid "Removed {count} selfroles."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:510
|
||||||
|
msgid "Removed 1 selfrole."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:516
|
||||||
|
#, docstring
|
||||||
|
msgid "Clear the list of available selfroles for this server."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:520
|
||||||
|
msgid "There are currently no selfroles."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:523
|
||||||
|
msgid "Are you sure you want to clear this server's selfrole list?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:529
|
||||||
|
msgid "You took too long to respond."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:538
|
||||||
|
msgid "I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:544
|
||||||
|
msgid "Selfrole list cleared."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:546
|
||||||
|
msgid "No changes have been made."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:551
|
||||||
|
#, docstring
|
||||||
|
msgid "Lock a bot to its current servers only."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:556
|
||||||
|
msgid "The bot is no longer serverlocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/admin.py:558
|
||||||
|
msgid "The bot is now serverlocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/announcer.py:68
|
||||||
|
msgid "I could not announce to the following server: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/announcer.py:70
|
||||||
|
msgid "I could not announce to the following servers: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/converters.py:13
|
||||||
|
msgid "The Admin cog is not loaded."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/converters.py:30
|
||||||
|
msgid "The role \"{role_name}\" is not a valid selfrole."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/admin/converters.py:36
|
||||||
|
msgid "This selfrole has more than one case insensitive match. Please ask a moderator to resolve the ambiguity, or use the role ID to reference the role."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
2
redbot/cogs/admin/locales/sl-SI.po
generated
2
redbot/cogs/admin/locales/sl-SI.po
generated
@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: redgettext 3.4.2\n"
|
"Generated-By: redgettext 3.4.2\n"
|
||||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
|
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
|
||||||
"X-Crowdin-Project: red-discordbot\n"
|
"X-Crowdin-Project: red-discordbot\n"
|
||||||
"X-Crowdin-Project-ID: 289505\n"
|
"X-Crowdin-Project-ID: 289505\n"
|
||||||
"X-Crowdin-Language: sl\n"
|
"X-Crowdin-Language: sl\n"
|
||||||
|
|||||||
114
redbot/cogs/admin/locales/uk-UA.po
generated
114
redbot/cogs/admin/locales/uk-UA.po
generated
@ -21,56 +21,56 @@ msgstr "Я намагався зробити щось, на що Discord від
|
|||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:25
|
#: redbot/cogs/admin/admin.py:25
|
||||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||||
msgstr ""
|
msgstr "Я не можу надати роль {role.name} {member.display_name}, тому що ця роль є вищою за мою найвищу роль."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:31
|
#: redbot/cogs/admin/admin.py:31
|
||||||
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||||
msgstr ""
|
msgstr "Я не можу прибрати {role.name} у {member.display_name}, тому що ця роль є вищою за мою найвищу роль."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:37
|
#: redbot/cogs/admin/admin.py:37
|
||||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||||
msgstr ""
|
msgstr "Я не можу змінити {role.name}, тому що ця роль є вищою ніж моя найвища роль."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:43
|
#: redbot/cogs/admin/admin.py:43
|
||||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||||
msgstr ""
|
msgstr "Я не можу надати {role.name} {member.display_name}, тому що ця роль вища за вашу найвищу роль."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:49
|
#: redbot/cogs/admin/admin.py:49
|
||||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||||
msgstr ""
|
msgstr "Я не можу прибрати {role.name} у {member.display_name}, тому що ця роль є вищою за вашу найвищу роль."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:55
|
#: redbot/cogs/admin/admin.py:55
|
||||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||||
msgstr ""
|
msgstr "Я неможу дозволити вам редагувати {role.name}, тому що ця роль вища за вашу найвищу роль."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:61
|
#: redbot/cogs/admin/admin.py:61
|
||||||
msgid "I need the \"Manage Roles\" permission to do that."
|
msgid "I need the \"Manage Roles\" permission to do that."
|
||||||
msgstr ""
|
msgstr "Мені потрібен дозвіл \"Керувати ролями\", щоб це зробити."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:63
|
#: redbot/cogs/admin/admin.py:63
|
||||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||||
msgstr ""
|
msgstr "Я вже щось оголошую. Якщо ви хочете зробити інше оголошення, будь ласка, спочатку використайте '{prefix}announce cancel`."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:73
|
#: redbot/cogs/admin/admin.py:73
|
||||||
#, docstring
|
#, docstring
|
||||||
msgid "A collection of server administration utilities."
|
msgid "A collection of server administration utilities."
|
||||||
msgstr ""
|
msgstr "Колекція утилітів адміністрації сервера."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:159
|
#: redbot/cogs/admin/admin.py:159
|
||||||
msgid "{member.display_name} already has the role {role.name}."
|
msgid "{member.display_name} already has the role {role.name}."
|
||||||
msgstr ""
|
msgstr "{member.display_name} вже має роль {role.name}."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:180
|
#: redbot/cogs/admin/admin.py:180
|
||||||
msgid "I successfully added {role.name} to {member.display_name}"
|
msgid "I successfully added {role.name} to {member.display_name}"
|
||||||
msgstr ""
|
msgstr "Успішно додав(ла) {role.name} до {member.display_name}"
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:190
|
#: redbot/cogs/admin/admin.py:190
|
||||||
msgid "{member.display_name} does not have the role {role.name}."
|
msgid "{member.display_name} does not have the role {role.name}."
|
||||||
msgstr ""
|
msgstr "{member.display_name} не має ролі {role.name}."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:211
|
#: redbot/cogs/admin/admin.py:211
|
||||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||||
msgstr ""
|
msgstr "Я успішно прибрав(ла) {role.name} у {member.display_name}"
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:226
|
#: redbot/cogs/admin/admin.py:226
|
||||||
#, docstring
|
#, docstring
|
||||||
@ -79,7 +79,11 @@ msgid "\n"
|
|||||||
" Use double quotes if the role contains spaces.\n"
|
" Use double quotes if the role contains spaces.\n"
|
||||||
" If user is left blank it defaults to the author of the command.\n"
|
" If user is left blank it defaults to the author of the command.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr "\n"
|
||||||
|
" Додати роль до користувача\n\n"
|
||||||
|
" Використовуйте подвійні лапки, якщо роль має пробіли.\n"
|
||||||
|
" Якщо користувач не буде вказаним, то за замовчуванням роль буде надана автору команди.\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:244
|
#: redbot/cogs/admin/admin.py:244
|
||||||
#, docstring
|
#, docstring
|
||||||
@ -88,12 +92,16 @@ msgid "\n"
|
|||||||
" Use double quotes if the role contains spaces.\n"
|
" Use double quotes if the role contains spaces.\n"
|
||||||
" If user is left blank it defaults to the author of the command.\n"
|
" If user is left blank it defaults to the author of the command.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr "\n"
|
||||||
|
" Додати роль до користувача\n\n"
|
||||||
|
" Використовуйте подвійні лапки, якщо роль має пробіли.\n"
|
||||||
|
" Якщо користувач не буде вказаним, то за замовчуванням роль буде надана автору команди.\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:256
|
#: redbot/cogs/admin/admin.py:256
|
||||||
#, docstring
|
#, docstring
|
||||||
msgid "Edit role settings."
|
msgid "Edit role settings."
|
||||||
msgstr ""
|
msgstr "Зміна налаштувань ролі."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:263
|
#: redbot/cogs/admin/admin.py:263
|
||||||
#, docstring
|
#, docstring
|
||||||
@ -110,11 +118,11 @@ msgstr ""
|
|||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:275
|
#: redbot/cogs/admin/admin.py:275
|
||||||
msgid "{author} ({author.id}) changed the colour of role '{role.name}'"
|
msgid "{author} ({author.id}) changed the colour of role '{role.name}'"
|
||||||
msgstr ""
|
msgstr "{author} ({author.id}) змінив колір ролі '{role.name}'"
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:294 redbot/cogs/admin/admin.py:327
|
#: redbot/cogs/admin/admin.py:294 redbot/cogs/admin/admin.py:327
|
||||||
msgid "Done."
|
msgid "Done."
|
||||||
msgstr ""
|
msgstr "Готово."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:298
|
#: redbot/cogs/admin/admin.py:298
|
||||||
#, docstring
|
#, docstring
|
||||||
@ -128,48 +136,48 @@ msgstr ""
|
|||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:308
|
#: redbot/cogs/admin/admin.py:308
|
||||||
msgid "{author} ({author.id}) changed the name of role '{old_name}' to '{name}'"
|
msgid "{author} ({author.id}) changed the name of role '{old_name}' to '{name}'"
|
||||||
msgstr ""
|
msgstr "{author} ({author.id}) змінив ім'я ролі '{old_name}' на '{name}'"
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:332
|
#: redbot/cogs/admin/admin.py:332
|
||||||
#, docstring
|
#, docstring
|
||||||
msgid "Announce a message to all servers the bot is in."
|
msgid "Announce a message to all servers the bot is in."
|
||||||
msgstr ""
|
msgstr "Оголосити повідомлення в усіх серверах, де знаходиться бот."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:339
|
#: redbot/cogs/admin/admin.py:339
|
||||||
msgid "The announcement has begun."
|
msgid "The announcement has begun."
|
||||||
msgstr ""
|
msgstr "Оголошення почалося."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:346
|
#: redbot/cogs/admin/admin.py:346
|
||||||
#, docstring
|
#, docstring
|
||||||
msgid "Cancel a running announce."
|
msgid "Cancel a running announce."
|
||||||
msgstr ""
|
msgstr "Відмінити запущене оголошення."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:348
|
#: redbot/cogs/admin/admin.py:348
|
||||||
msgid "There is no currently running announcement."
|
msgid "There is no currently running announcement."
|
||||||
msgstr ""
|
msgstr "На даний момент немає оголошення."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:351
|
#: redbot/cogs/admin/admin.py:351
|
||||||
msgid "The current announcement has been cancelled."
|
msgid "The current announcement has been cancelled."
|
||||||
msgstr ""
|
msgstr "Поточне оголошення було скасовано."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:357
|
#: redbot/cogs/admin/admin.py:357
|
||||||
#, docstring
|
#, docstring
|
||||||
msgid "Change how announcements are sent in this guild."
|
msgid "Change how announcements are sent in this guild."
|
||||||
msgstr ""
|
msgstr "Змінити спосіб надсилання оголошень у цю спільноту."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:367
|
#: redbot/cogs/admin/admin.py:367
|
||||||
#, docstring
|
#, docstring
|
||||||
msgid "Change the channel where the bot will send announcements."
|
msgid "Change the channel where the bot will send announcements."
|
||||||
msgstr ""
|
msgstr "Змініть канал, в якому бот буде надсилати оголошення."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:370
|
#: redbot/cogs/admin/admin.py:370
|
||||||
msgid "The announcement channel has been set to {channel.mention}"
|
msgid "The announcement channel has been set to {channel.mention}"
|
||||||
msgstr ""
|
msgstr "Канал для оголошень встановлений до {channel.mention}"
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:375
|
#: redbot/cogs/admin/admin.py:375
|
||||||
#, docstring
|
#, docstring
|
||||||
msgid "Unsets the channel for announcements."
|
msgid "Unsets the channel for announcements."
|
||||||
msgstr ""
|
msgstr "Прибирає канал для оголошень."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:400
|
#: redbot/cogs/admin/admin.py:400
|
||||||
#, docstring
|
#, docstring
|
||||||
@ -178,7 +186,10 @@ msgid "\n"
|
|||||||
" Server admins must have configured the role as user settable.\n"
|
" Server admins must have configured the role as user settable.\n"
|
||||||
" NOTE: The role is case sensitive!\n"
|
" NOTE: The role is case sensitive!\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr "\n"
|
||||||
|
" Додайте чи приберіть собі селф-ролі\n\n"
|
||||||
|
" Адміністратори серверу повинні були налаштувати роль як \"користувацьку\"\n"
|
||||||
|
" ПОМІТКА: Ролі чутливі до реєстру "
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:413
|
#: redbot/cogs/admin/admin.py:413
|
||||||
#, docstring
|
#, docstring
|
||||||
@ -203,17 +214,20 @@ msgstr ""
|
|||||||
msgid "\n"
|
msgid "\n"
|
||||||
" Lists all available selfroles.\n"
|
" Lists all available selfroles.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr "\n"
|
||||||
|
" Перераховує усі доступні селф-ролі.\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:445
|
#: redbot/cogs/admin/admin.py:445
|
||||||
msgid "Available Selfroles:\n"
|
msgid "Available Selfroles:\n"
|
||||||
"{selfroles}"
|
"{selfroles}"
|
||||||
msgstr ""
|
msgstr "Доступні селф-ролі:\n"
|
||||||
|
"{selfroles}"
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:451
|
#: redbot/cogs/admin/admin.py:451
|
||||||
#, docstring
|
#, docstring
|
||||||
msgid "Manage selfroles."
|
msgid "Manage selfroles."
|
||||||
msgstr ""
|
msgstr "Керувати селф-ролями."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:456
|
#: redbot/cogs/admin/admin.py:456
|
||||||
#, docstring
|
#, docstring
|
||||||
@ -225,19 +239,19 @@ msgstr ""
|
|||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:465
|
#: redbot/cogs/admin/admin.py:465
|
||||||
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
|
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||||
msgstr ""
|
msgstr "Я не можу дозволити вам додати {role.name} як селф-роль, бо ця роль є вищою за вашу найвищу роль."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:475
|
#: redbot/cogs/admin/admin.py:475
|
||||||
msgid "The role \"{role.name}\" is already a selfrole."
|
msgid "The role \"{role.name}\" is already a selfrole."
|
||||||
msgstr ""
|
msgstr "Роль \"{role.name}\" вже є селф-роллю."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:481
|
#: redbot/cogs/admin/admin.py:481
|
||||||
msgid "Added {count} selfroles."
|
msgid "Added {count} selfroles."
|
||||||
msgstr ""
|
msgstr "Додано {count} селф-ролей."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:483
|
#: redbot/cogs/admin/admin.py:483
|
||||||
msgid "Added 1 selfrole."
|
msgid "Added 1 selfrole."
|
||||||
msgstr ""
|
msgstr "Додано 1 селф-роль."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:489
|
#: redbot/cogs/admin/admin.py:489
|
||||||
#, docstring
|
#, docstring
|
||||||
@ -249,40 +263,40 @@ msgstr ""
|
|||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:498
|
#: redbot/cogs/admin/admin.py:498
|
||||||
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
|
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||||
msgstr ""
|
msgstr "Я не можу дозволити вам прибрати {role.name} зі списку селф-ролей, бо ця роль є вищою за вашу найвищу роль."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:508
|
#: redbot/cogs/admin/admin.py:508
|
||||||
msgid "Removed {count} selfroles."
|
msgid "Removed {count} selfroles."
|
||||||
msgstr ""
|
msgstr "Вилучено {count} селф-ролей."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:510
|
#: redbot/cogs/admin/admin.py:510
|
||||||
msgid "Removed 1 selfrole."
|
msgid "Removed 1 selfrole."
|
||||||
msgstr ""
|
msgstr "Прибрано 1 селф-роль."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:516
|
#: redbot/cogs/admin/admin.py:516
|
||||||
#, docstring
|
#, docstring
|
||||||
msgid "Clear the list of available selfroles for this server."
|
msgid "Clear the list of available selfroles for this server."
|
||||||
msgstr ""
|
msgstr "Очистити список доступних селф-ролей для цього сервера."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:520
|
#: redbot/cogs/admin/admin.py:520
|
||||||
msgid "There are currently no selfroles."
|
msgid "There are currently no selfroles."
|
||||||
msgstr ""
|
msgstr "Наразі немає селф-ролей."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:523
|
#: redbot/cogs/admin/admin.py:523
|
||||||
msgid "Are you sure you want to clear this server's selfrole list?"
|
msgid "Are you sure you want to clear this server's selfrole list?"
|
||||||
msgstr ""
|
msgstr "Ви впевнені, що хочете очистити список селф-ролей цього сервера?"
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:529
|
#: redbot/cogs/admin/admin.py:529
|
||||||
msgid "You took too long to respond."
|
msgid "You took too long to respond."
|
||||||
msgstr ""
|
msgstr "Ви зайняли занадто довго часу, щоб відповісти."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:538
|
#: redbot/cogs/admin/admin.py:538
|
||||||
msgid "I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
|
msgid "I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
|
||||||
msgstr ""
|
msgstr "Я не можу прибрати селф-ролі, тому що селф-роль '{role.name}' вища аніж усі ваші ролі."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:544
|
#: redbot/cogs/admin/admin.py:544
|
||||||
msgid "Selfrole list cleared."
|
msgid "Selfrole list cleared."
|
||||||
msgstr ""
|
msgstr "Список з селф-ролями був очищений."
|
||||||
|
|
||||||
#: redbot/cogs/admin/admin.py:546
|
#: redbot/cogs/admin/admin.py:546
|
||||||
msgid "No changes have been made."
|
msgid "No changes have been made."
|
||||||
@ -303,21 +317,21 @@ msgstr ""
|
|||||||
|
|
||||||
#: redbot/cogs/admin/announcer.py:68
|
#: redbot/cogs/admin/announcer.py:68
|
||||||
msgid "I could not announce to the following server: "
|
msgid "I could not announce to the following server: "
|
||||||
msgstr ""
|
msgstr "Не вдалося зробити оголошення у наступній спільноті: "
|
||||||
|
|
||||||
#: redbot/cogs/admin/announcer.py:70
|
#: redbot/cogs/admin/announcer.py:70
|
||||||
msgid "I could not announce to the following servers: "
|
msgid "I could not announce to the following servers: "
|
||||||
msgstr ""
|
msgstr "Не вдалося зробити оголошення у наступних спільнотах: "
|
||||||
|
|
||||||
#: redbot/cogs/admin/converters.py:13
|
#: redbot/cogs/admin/converters.py:13
|
||||||
msgid "The Admin cog is not loaded."
|
msgid "The Admin cog is not loaded."
|
||||||
msgstr ""
|
msgstr "Адмін-ког не завантажено."
|
||||||
|
|
||||||
#: redbot/cogs/admin/converters.py:30
|
#: redbot/cogs/admin/converters.py:30
|
||||||
msgid "The role \"{role_name}\" is not a valid selfrole."
|
msgid "The role \"{role_name}\" is not a valid selfrole."
|
||||||
msgstr ""
|
msgstr "Роль \"{role_name}\" не є дійсною селф-роллю."
|
||||||
|
|
||||||
#: redbot/cogs/admin/converters.py:36
|
#: redbot/cogs/admin/converters.py:36
|
||||||
msgid "This selfrole has more than one case insensitive match. Please ask a moderator to resolve the ambiguity, or use the role ID to reference the role."
|
msgid "This selfrole has more than one case insensitive match. Please ask a moderator to resolve the ambiguity, or use the role ID to reference the role."
|
||||||
msgstr ""
|
msgstr "Ця селф-роль має більше ніж один збіг. Будь ласка, попросіть модератора вирішити цю неоднозначність, або використайте ID ролі для уточнення ролі."
|
||||||
|
|
||||||
|
|||||||
@ -59,7 +59,11 @@ class AliasEntry:
|
|||||||
extra = []
|
extra = []
|
||||||
while not view.eof:
|
while not view.eof:
|
||||||
prev = view.index
|
prev = view.index
|
||||||
|
try:
|
||||||
word = view.get_quoted_word()
|
word = view.get_quoted_word()
|
||||||
|
except discord.ext.commands.errors.UnexpectedQuoteError:
|
||||||
|
view.skip_ws()
|
||||||
|
continue
|
||||||
if len(word) < view.index - prev:
|
if len(word) < view.index - prev:
|
||||||
word = "".join((view.buffer[prev], word, view.buffer[view.index - 1]))
|
word = "".join((view.buffer[prev], word, view.buffer[view.index - 1]))
|
||||||
extra.append(word.strip(" "))
|
extra.append(word.strip(" "))
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/ar-SA.po
generated
6
redbot/cogs/alias/locales/ar-SA.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Arabic\n"
|
"Language-Team: Arabic\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -179,11 +179,11 @@ msgstr "قائمة الأسماء المستعارة العامة المتاحة
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "يجب أن يتم تحديد الحجج برقم."
|
msgstr "يجب أن يتم تحديد الحجج برقم."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "يجب أن تكون الحجج متتابعة. الحجج المفقودة: "
|
msgstr "يجب أن تكون الحجج متتابعة. الحجج المفقودة: "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/bg-BG.po
generated
6
redbot/cogs/alias/locales/bg-BG.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Bulgarian\n"
|
"Language-Team: Bulgarian\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -179,11 +179,11 @@ msgstr ""
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/cs-CZ.po
generated
6
redbot/cogs/alias/locales/cs-CZ.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Czech\n"
|
"Language-Team: Czech\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -187,11 +187,11 @@ msgstr "Seznam dostupných globálních aliasů pro tohoto bota."
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "Neexistují žádné globální aliasy."
|
msgstr "Neexistují žádné globální aliasy."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "Argumenty musí být zadány s číslem."
|
msgstr "Argumenty musí být zadány s číslem."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "Argumenty musí být sekvenční. Chybějící argumenty: "
|
msgstr "Argumenty musí být sekvenční. Chybějící argumenty: "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/da-DK.po
generated
6
redbot/cogs/alias/locales/da-DK.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Danish\n"
|
"Language-Team: Danish\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -179,11 +179,11 @@ msgstr ""
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/de-DE.po
generated
6
redbot/cogs/alias/locales/de-DE.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: German\n"
|
"Language-Team: German\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -187,11 +187,11 @@ msgstr "Zeige die verfügbaren globalen Alias von diesem Bot."
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "Es gibt keine globalen Aliasse."
|
msgstr "Es gibt keine globalen Aliasse."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "Die Argumente müssen mit einer Nummer angegeben werden."
|
msgstr "Die Argumente müssen mit einer Nummer angegeben werden."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "Argumente müssen sequentiell sein. Fehlende Argumente: "
|
msgstr "Argumente müssen sequentiell sein. Fehlende Argumente: "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/es-ES.po
generated
6
redbot/cogs/alias/locales/es-ES.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Spanish\n"
|
"Language-Team: Spanish\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -186,11 +186,11 @@ msgstr "Muestra una lista de los alias globales disponibles en este bot."
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "No hay alias globales."
|
msgstr "No hay alias globales."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "Los argumentos deben especificarse con un número."
|
msgstr "Los argumentos deben especificarse con un número."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "Los argumentos deben ser secuenciales. Faltan argumentos: "
|
msgstr "Los argumentos deben ser secuenciales. Faltan argumentos: "
|
||||||
|
|
||||||
|
|||||||
189
redbot/cogs/alias/locales/et-EE.po
generated
Normal file
189
redbot/cogs/alias/locales/et-EE.po
generated
Normal file
@ -0,0 +1,189 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: red-discordbot\n"
|
||||||
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
|
"Last-Translator: \n"
|
||||||
|
"Language-Team: Estonian\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: redgettext 3.4.2\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
"X-Crowdin-Project: red-discordbot\n"
|
||||||
|
"X-Crowdin-Project-ID: 289505\n"
|
||||||
|
"X-Crowdin-Language: et\n"
|
||||||
|
"X-Crowdin-File-ID: 8\n"
|
||||||
|
"Language: et_EE\n"
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:35
|
||||||
|
#, docstring
|
||||||
|
msgid "Create aliases for commands.\n\n"
|
||||||
|
" Aliases are alternative names/shortcuts for commands. They\n"
|
||||||
|
" can act as both a lambda (storing arguments for repeated use)\n"
|
||||||
|
" or as simply a shortcut to saying \"x y z\".\n\n"
|
||||||
|
" When run, aliases will accept any additional arguments\n"
|
||||||
|
" and append them to the stored alias.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:190
|
||||||
|
msgid "Aliases:\n"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:192
|
||||||
|
msgid "\n\n"
|
||||||
|
"Page {page}/{total}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:202
|
||||||
|
#, docstring
|
||||||
|
msgid "Manage command aliases."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:207
|
||||||
|
#, docstring
|
||||||
|
msgid "Manage global aliases."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:214
|
||||||
|
#, docstring
|
||||||
|
msgid "Add an alias for a command."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:219
|
||||||
|
msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:230
|
||||||
|
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:241
|
||||||
|
msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:253 redbot/cogs/alias/alias.py:312
|
||||||
|
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:267
|
||||||
|
msgid "A new alias with the trigger `{name}` has been created."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:273
|
||||||
|
#, docstring
|
||||||
|
msgid "Add a global alias for a command."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:278
|
||||||
|
msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:289
|
||||||
|
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:300
|
||||||
|
msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:323
|
||||||
|
msgid "A new global alias with the trigger `{name}` has been created."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:332
|
||||||
|
#, docstring
|
||||||
|
msgid "Edit an existing alias in this server."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:337 redbot/cogs/alias/alias.py:372
|
||||||
|
msgid "The alias with the name {name} does not exist."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:343 redbot/cogs/alias/alias.py:378
|
||||||
|
msgid "You attempted to edit an alias to a command that doesn't exist."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:352 redbot/cogs/alias/alias.py:385
|
||||||
|
msgid "The alias with the trigger `{name}` has been edited successfully."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:359 redbot/cogs/alias/alias.py:392
|
||||||
|
msgid "Alias with the name `{name}` was not found."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:367
|
||||||
|
#, docstring
|
||||||
|
msgid "Edit an existing global alias."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:399
|
||||||
|
#, docstring
|
||||||
|
msgid "Try to execute help for the base command of the alias."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:404
|
||||||
|
msgid "No such alias exists."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:408
|
||||||
|
#, docstring
|
||||||
|
msgid "Show what command the alias executes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:413
|
||||||
|
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:418
|
||||||
|
msgid "There is no alias with the name `{name}`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:424
|
||||||
|
#, docstring
|
||||||
|
msgid "Delete an existing alias on this server."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:426 redbot/cogs/alias/alias.py:458
|
||||||
|
msgid "There are no aliases on this server."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:431 redbot/cogs/alias/alias.py:446
|
||||||
|
msgid "Alias with the name `{name}` was successfully deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:434 redbot/cogs/alias/alias.py:449
|
||||||
|
msgid "Alias with name `{name}` was not found."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:439
|
||||||
|
#, docstring
|
||||||
|
msgid "Delete an existing global alias."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:441
|
||||||
|
msgid "There are no global aliases on this bot."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:455
|
||||||
|
#, docstring
|
||||||
|
msgid "List the available aliases on this server."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:464
|
||||||
|
#, docstring
|
||||||
|
msgid "List the available global aliases on this bot."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias.py:467
|
||||||
|
msgid "There are no global aliases."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
|
msgid "Arguments must be specified with a number."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
6
redbot/cogs/alias/locales/fi-FI.po
generated
6
redbot/cogs/alias/locales/fi-FI.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Finnish\n"
|
"Language-Team: Finnish\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -180,11 +180,11 @@ msgstr "Listaa saatavilla olevat globaalit aliakset tässä botissa."
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "Tässä botissa ei ole globaaleja aliaksia."
|
msgstr "Tässä botissa ei ole globaaleja aliaksia."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "Argumentit on määriteltävä numerolla."
|
msgstr "Argumentit on määriteltävä numerolla."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "Argumenttien on oltava peräkkäisiä. Puuttuvia argumentteja: "
|
msgstr "Argumenttien on oltava peräkkäisiä. Puuttuvia argumentteja: "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/fr-FR.po
generated
6
redbot/cogs/alias/locales/fr-FR.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: French\n"
|
"Language-Team: French\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -185,11 +185,11 @@ msgstr "Liste les alias globaux disponibles sur ce bot."
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "Il n'y a aucun alias global."
|
msgstr "Il n'y a aucun alias global."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "Les arguments doivent être spécifiés avec un nombre."
|
msgstr "Les arguments doivent être spécifiés avec un nombre."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "Les arguments doivent être séquentiels. Arguments manquants : "
|
msgstr "Les arguments doivent être séquentiels. Arguments manquants : "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/hi-IN.po
generated
6
redbot/cogs/alias/locales/hi-IN.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Hindi\n"
|
"Language-Team: Hindi\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -179,11 +179,11 @@ msgstr ""
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/hr-HR.po
generated
6
redbot/cogs/alias/locales/hr-HR.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Croatian\n"
|
"Language-Team: Croatian\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -186,11 +186,11 @@ msgstr "Navedite dostupne globalne nadimke na ovom botu."
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "Nema globalnih nadimaka."
|
msgstr "Nema globalnih nadimaka."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "Argumenti se moraju navesti brojem."
|
msgstr "Argumenti se moraju navesti brojem."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "Argumenti moraju biti uzastopni. Nedostajući argumenti: "
|
msgstr "Argumenti moraju biti uzastopni. Nedostajući argumenti: "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/hu-HU.po
generated
6
redbot/cogs/alias/locales/hu-HU.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Hungarian\n"
|
"Language-Team: Hungarian\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -180,11 +180,11 @@ msgstr "A boton elérhető globális aliaszok listázása."
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "Nincsenek globális aliaszok."
|
msgstr "Nincsenek globális aliaszok."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/id-ID.po
generated
6
redbot/cogs/alias/locales/id-ID.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Indonesian\n"
|
"Language-Team: Indonesian\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -186,11 +186,11 @@ msgstr "Buat daftar alias global yang tersedia di bot ini."
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "Tidak ada alias global."
|
msgstr "Tidak ada alias global."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "Argumen harus ditentukan dengan angka."
|
msgstr "Argumen harus ditentukan dengan angka."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "Argumen harus berurutan. Argumen yang hilang: "
|
msgstr "Argumen harus berurutan. Argumen yang hilang: "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/it-IT.po
generated
6
redbot/cogs/alias/locales/it-IT.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Italian\n"
|
"Language-Team: Italian\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -180,11 +180,11 @@ msgstr "Elenca gli pseudonimi globali disponibili su questo server."
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "Non ci sono pseudonimi globali."
|
msgstr "Non ci sono pseudonimi globali."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "Gli argomenti devono essere specificati con un numero."
|
msgstr "Gli argomenti devono essere specificati con un numero."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "Gli argomenti devono essere consecutivi. Argomenti mancanti: "
|
msgstr "Gli argomenti devono essere consecutivi. Argomenti mancanti: "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/ja-JP.po
generated
6
redbot/cogs/alias/locales/ja-JP.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Japanese\n"
|
"Language-Team: Japanese\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -179,11 +179,11 @@ msgstr ""
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/ko-KR.po
generated
6
redbot/cogs/alias/locales/ko-KR.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Korean\n"
|
"Language-Team: Korean\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -185,11 +185,11 @@ msgstr "이 봇에서 사용할 수 있는 글로벌 별칭들을 나열해주
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "전역적인 별칭이 없어요."
|
msgstr "전역적인 별칭이 없어요."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "인수는 숫자로 지정해줘야해요."
|
msgstr "인수는 숫자로 지정해줘야해요."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "인수는 순차적이어야해요. 미확인된 인수: "
|
msgstr "인수는 순차적이어야해요. 미확인된 인수: "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/nb-NO.po
generated
6
redbot/cogs/alias/locales/nb-NO.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Norwegian Bokmal\n"
|
"Language-Team: Norwegian Bokmal\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -186,11 +186,11 @@ msgstr "Liste over tilgjengelige globale aliaser på denne botten."
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "Det er ingen globale aliaser på denne boten."
|
msgstr "Det er ingen globale aliaser på denne boten."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "Argumenter må spesifiseres med et nummer."
|
msgstr "Argumenter må spesifiseres med et nummer."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "Argumenter må være sekvensielle. Manglende argumenter: "
|
msgstr "Argumenter må være sekvensielle. Manglende argumenter: "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/nl-NL.po
generated
6
redbot/cogs/alias/locales/nl-NL.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Dutch\n"
|
"Language-Team: Dutch\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -180,11 +180,11 @@ msgstr "Maak een lijst van de beschikbare globale aliassen op deze bot."
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "Er zijn geen globale aliassen."
|
msgstr "Er zijn geen globale aliassen."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "Argumenten moeten worden gespecificeerd met een getal."
|
msgstr "Argumenten moeten worden gespecificeerd met een getal."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "Argumenten moeten sequentieel zijn. Ontbrekende argumenten: "
|
msgstr "Argumenten moeten sequentieel zijn. Ontbrekende argumenten: "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/pl-PL.po
generated
6
redbot/cogs/alias/locales/pl-PL.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Polish\n"
|
"Language-Team: Polish\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -187,11 +187,11 @@ msgstr "Wyświetla dostępne globalne aliasy dla tego bota."
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "Brak globalnych aliasów."
|
msgstr "Brak globalnych aliasów."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "Argumenty należy określić liczbą."
|
msgstr "Argumenty należy określić liczbą."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "Argumenty muszą być sekwencyjne. Brakujące argumenty: "
|
msgstr "Argumenty muszą być sekwencyjne. Brakujące argumenty: "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/pt-BR.po
generated
6
redbot/cogs/alias/locales/pt-BR.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Portuguese, Brazilian\n"
|
"Language-Team: Portuguese, Brazilian\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -188,11 +188,11 @@ msgstr "Liste os atalhos globais disponíveis neste bot."
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "Não há atalhos globais."
|
msgstr "Não há atalhos globais."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "Os argumentos devem ser especificados por um número."
|
msgstr "Os argumentos devem ser especificados por um número."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "Os argumentos devem ser sequenciais. Argumentos faltando: "
|
msgstr "Os argumentos devem ser sequenciais. Argumentos faltando: "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/pt-PT.po
generated
6
redbot/cogs/alias/locales/pt-PT.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Portuguese\n"
|
"Language-Team: Portuguese\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -182,11 +182,11 @@ msgstr "Listar os alias globais disponíveis neste bot."
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "Não existem alias globais."
|
msgstr "Não existem alias globais."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "Os argumentos devem ser especificados com um número."
|
msgstr "Os argumentos devem ser especificados com um número."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "Os argumentos devem ser sequenciais. Faltam argumentos: "
|
msgstr "Os argumentos devem ser sequenciais. Faltam argumentos: "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/ru-RU.po
generated
6
redbot/cogs/alias/locales/ru-RU.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Russian\n"
|
"Language-Team: Russian\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -186,11 +186,11 @@ msgstr "Список доступных глобальных псевдоним
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "Нет всеобщих синонимов."
|
msgstr "Нет всеобщих синонимов."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "Аргументы должны быть указаны с числом."
|
msgstr "Аргументы должны быть указаны с числом."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "Аргументы должны быть последовательными. Отсутствуют аргументы: "
|
msgstr "Аргументы должны быть последовательными. Отсутствуют аргументы: "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/sk-SK.po
generated
6
redbot/cogs/alias/locales/sk-SK.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Slovak\n"
|
"Language-Team: Slovak\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -179,11 +179,11 @@ msgstr ""
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
8
redbot/cogs/alias/locales/sl-SI.po
generated
8
redbot/cogs/alias/locales/sl-SI.po
generated
@ -1,14 +1,14 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Slovenian\n"
|
"Language-Team: Slovenian\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: redgettext 3.4.2\n"
|
"Generated-By: redgettext 3.4.2\n"
|
||||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
|
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
|
||||||
"X-Crowdin-Project: red-discordbot\n"
|
"X-Crowdin-Project: red-discordbot\n"
|
||||||
"X-Crowdin-Project-ID: 289505\n"
|
"X-Crowdin-Project-ID: 289505\n"
|
||||||
"X-Crowdin-Language: sl\n"
|
"X-Crowdin-Language: sl\n"
|
||||||
@ -180,11 +180,11 @@ msgstr "Seznam razpoložljivih globalnih vzdevkov na tem strežniku."
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "Globalnih vzdevkov ni."
|
msgstr "Globalnih vzdevkov ni."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "Argumente je treba navesti s številko."
|
msgstr "Argumente je treba navesti s številko."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "Argumenti morajo biti zaporedni. Manjkajoči argumenti: "
|
msgstr "Argumenti morajo biti zaporedni. Manjkajoči argumenti: "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/sv-SE.po
generated
6
redbot/cogs/alias/locales/sv-SE.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Swedish\n"
|
"Language-Team: Swedish\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -179,11 +179,11 @@ msgstr ""
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/tr-TR.po
generated
6
redbot/cogs/alias/locales/tr-TR.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Turkish\n"
|
"Language-Team: Turkish\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -187,11 +187,11 @@ msgstr "Bot üzerindeki global kullanılabilir kısaltmaları listeleyin."
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "Herhangi bir global kısaltma mevcut değil."
|
msgstr "Herhangi bir global kısaltma mevcut değil."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "Değişkenler numara içermelidir."
|
msgstr "Değişkenler numara içermelidir."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "Değişkenler sıralı olmalıdır. Eksik değişkenler: "
|
msgstr "Değişkenler sıralı olmalıdır. Eksik değişkenler: "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/uk-UA.po
generated
6
redbot/cogs/alias/locales/uk-UA.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Ukrainian\n"
|
"Language-Team: Ukrainian\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -179,11 +179,11 @@ msgstr ""
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/vi-VN.po
generated
6
redbot/cogs/alias/locales/vi-VN.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Vietnamese\n"
|
"Language-Team: Vietnamese\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -186,11 +186,11 @@ msgstr "Danh sách tổng hợp những lối tắt toàn hệ thống tồn t
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "Không có lối tắt toàn hệ thống nào."
|
msgstr "Không có lối tắt toàn hệ thống nào."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "Giá trị phải được ghi rõ ràng bằng một con số."
|
msgstr "Giá trị phải được ghi rõ ràng bằng một con số."
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "Giá trị phải sắp xếp tuần tự. Bị thiếu cú pháp: "
|
msgstr "Giá trị phải sắp xếp tuần tự. Bị thiếu cú pháp: "
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/zh-CN.po
generated
6
redbot/cogs/alias/locales/zh-CN.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Chinese Simplified\n"
|
"Language-Team: Chinese Simplified\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -179,11 +179,11 @@ msgstr ""
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
6
redbot/cogs/alias/locales/zh-TW.po
generated
6
redbot/cogs/alias/locales/zh-TW.po
generated
@ -1,7 +1,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: red-discordbot\n"
|
"Project-Id-Version: red-discordbot\n"
|
||||||
"POT-Creation-Date: 2024-01-09 00:35+0000\n"
|
"POT-Creation-Date: 2025-08-09 20:56+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Chinese Traditional\n"
|
"Language-Team: Chinese Traditional\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -186,11 +186,11 @@ msgstr "列出此機器人可用的全局別名。"
|
|||||||
msgid "There are no global aliases."
|
msgid "There are no global aliases."
|
||||||
msgstr "沒有全局別名。"
|
msgstr "沒有全局別名。"
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:196
|
#: redbot/cogs/alias/alias_entry.py:200
|
||||||
msgid "Arguments must be specified with a number."
|
msgid "Arguments must be specified with a number."
|
||||||
msgstr "必須用數字指定參數。"
|
msgstr "必須用數字指定參數。"
|
||||||
|
|
||||||
#: redbot/cogs/alias/alias_entry.py:203
|
#: redbot/cogs/alias/alias_entry.py:207
|
||||||
msgid "Arguments must be sequential. Missing arguments: "
|
msgid "Arguments must be sequential. Missing arguments: "
|
||||||
msgstr "參數必須是連續的。 缺少參數: "
|
msgstr "參數必須是連續的。 缺少參數: "
|
||||||
|
|
||||||
|
|||||||
81
redbot/cogs/audio/apis/locales/et-EE.po
generated
Normal file
81
redbot/cogs/audio/apis/locales/et-EE.po
generated
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: red-discordbot\n"
|
||||||
|
"POT-Creation-Date: 2022-03-16 16:42+0000\n"
|
||||||
|
"Last-Translator: \n"
|
||||||
|
"Language-Team: Estonian\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: redgettext 3.4.2\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
"X-Crowdin-Project: red-discordbot\n"
|
||||||
|
"X-Crowdin-Project-ID: 289505\n"
|
||||||
|
"X-Crowdin-Language: et\n"
|
||||||
|
"X-Crowdin-File-ID: 698\n"
|
||||||
|
"Language: et_EE\n"
|
||||||
|
|
||||||
|
#: redbot/cogs/audio/apis/interface.py:270
|
||||||
|
#: redbot/cogs/audio/apis/interface.py:600
|
||||||
|
msgid "Failing to get tracks, skipping remaining."
|
||||||
|
msgstr "Ebaõnnestus YouTube'i video hankimine, ülejäänud jäetakse vahele."
|
||||||
|
|
||||||
|
#: redbot/cogs/audio/apis/interface.py:303
|
||||||
|
#: redbot/cogs/audio/apis/spotify.py:175
|
||||||
|
msgid "The Spotify API key or client secret has not been set properly. \n"
|
||||||
|
"Use `{prefix}audioset spotifyapi` for instructions."
|
||||||
|
msgstr "Spotify API võti või kliendi salajane võti ei ole õigesti seadistatud. \n"
|
||||||
|
"Kasutage `{prefix}audioset spotifyapi` juhiste jaoks."
|
||||||
|
|
||||||
|
#: redbot/cogs/audio/apis/interface.py:345
|
||||||
|
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||||
|
msgstr "See ei tundu olevat kehtiv Spotify esitusloendi/albumi URL või kood."
|
||||||
|
|
||||||
|
#: redbot/cogs/audio/apis/interface.py:471
|
||||||
|
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||||
|
msgstr "See ei tundu olevat toetatud Spotify URL või kood."
|
||||||
|
|
||||||
|
#: redbot/cogs/audio/apis/interface.py:561
|
||||||
|
msgid "The connection was reset while loading the playlist."
|
||||||
|
msgstr "Ühendus taastati, kui esitusloendit laaditi."
|
||||||
|
|
||||||
|
#: redbot/cogs/audio/apis/interface.py:572
|
||||||
|
msgid "Player timeout, skipping remaining tracks."
|
||||||
|
msgstr "Mängija aja ületamine, ülejäänud lood jäetakse vahele."
|
||||||
|
|
||||||
|
#: redbot/cogs/audio/apis/interface.py:665
|
||||||
|
msgid " {bad_tracks} tracks cannot be queued."
|
||||||
|
msgstr "{bad_tracks} lugusid ei saa järjekorda lisada."
|
||||||
|
|
||||||
|
#: redbot/cogs/audio/apis/interface.py:673
|
||||||
|
msgid "Playlist Enqueued"
|
||||||
|
msgstr "Esitusloend lisatud järjekorda"
|
||||||
|
|
||||||
|
#: redbot/cogs/audio/apis/interface.py:674
|
||||||
|
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||||
|
msgstr "Lisatud {num} lugu järjekorda.{maxlength_msg}"
|
||||||
|
|
||||||
|
#: redbot/cogs/audio/apis/interface.py:680
|
||||||
|
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||||
|
msgstr "{time} kuni esitusloendi esituse alguseni: algab järjekorras #{position} kohal"
|
||||||
|
|
||||||
|
#: redbot/cogs/audio/apis/interface.py:691
|
||||||
|
msgid "Nothing found.\n"
|
||||||
|
"The YouTube API key may be invalid or you may be rate limited on YouTube's search service.\n"
|
||||||
|
"Check the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`."
|
||||||
|
msgstr "Midagi ei leitud. \n"
|
||||||
|
"YouTube API võti võib olla kehtetu või võib YouTube'i otsinguteenuses olla määratud päringute piirang. \n"
|
||||||
|
"Kontrolli YouTube API võtit uuesti ja järgi juhiseid `{prefix}audioset youtubeapi`."
|
||||||
|
|
||||||
|
#: redbot/cogs/audio/apis/youtube.py:62
|
||||||
|
msgid "Your YouTube Data API token is invalid.\n"
|
||||||
|
"Check the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`."
|
||||||
|
msgstr "Teie YouTube Data API token on kehtetu. \n"
|
||||||
|
"Kontrollige YouTube API võtit uuesti ja järgige juhiseid `{prefix}audioset youtubeapi`."
|
||||||
|
|
||||||
|
#: redbot/cogs/audio/apis/youtube.py:74
|
||||||
|
msgid "YouTube API error code: 403\n"
|
||||||
|
"Your YouTube API key may have reached the account's query limit for today. Please check <https://developers.google.com/youtube/v3/getting-started#quota> for more information."
|
||||||
|
msgstr "YouTube API tõrgekood: 403 \n"
|
||||||
|
"Teie YouTube API võti võib olla jõudnud konto päringute limiidi täitumiseni täna. Palun kontrollige <https://developers.google.com/youtube/v3/getting-started#quota> lisainformatsiooni jaoks."
|
||||||
|
|
||||||
2
redbot/cogs/audio/apis/locales/sl-SI.po
generated
2
redbot/cogs/audio/apis/locales/sl-SI.po
generated
@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: redgettext 3.4.2\n"
|
"Generated-By: redgettext 3.4.2\n"
|
||||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
|
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
|
||||||
"X-Crowdin-Project: red-discordbot\n"
|
"X-Crowdin-Project: red-discordbot\n"
|
||||||
"X-Crowdin-Project-ID: 289505\n"
|
"X-Crowdin-Project-ID: 289505\n"
|
||||||
"X-Crowdin-Language: sl\n"
|
"X-Crowdin-Language: sl\n"
|
||||||
|
|||||||
@ -3,7 +3,6 @@ import datetime
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
from collections import Counter, defaultdict
|
from collections import Counter, defaultdict
|
||||||
from pathlib import Path
|
|
||||||
from typing import Mapping, Dict
|
from typing import Mapping, Dict
|
||||||
|
|
||||||
import aiohttp
|
import aiohttp
|
||||||
@ -13,7 +12,6 @@ from redbot.core import Config
|
|||||||
from redbot.core.bot import Red
|
from redbot.core.bot import Red
|
||||||
from redbot.core.commands import Cog
|
from redbot.core.commands import Cog
|
||||||
from redbot.core.data_manager import cog_data_path
|
from redbot.core.data_manager import cog_data_path
|
||||||
from redbot.core.i18n import Translator, cog_i18n
|
|
||||||
from redbot.core.utils.antispam import AntiSpam
|
from redbot.core.utils.antispam import AntiSpam
|
||||||
|
|
||||||
from ..utils import (
|
from ..utils import (
|
||||||
@ -25,10 +23,7 @@ from ..utils import (
|
|||||||
from . import abc, cog_utils, commands, events, tasks, utilities
|
from . import abc, cog_utils, commands, events, tasks, utilities
|
||||||
from .cog_utils import CompositeMetaClass
|
from .cog_utils import CompositeMetaClass
|
||||||
|
|
||||||
_ = Translator("Audio", Path(__file__))
|
|
||||||
|
|
||||||
|
|
||||||
@cog_i18n(_)
|
|
||||||
class Audio(
|
class Audio(
|
||||||
commands.Commands,
|
commands.Commands,
|
||||||
events.Events,
|
events.Events,
|
||||||
@ -37,8 +32,6 @@ class Audio(
|
|||||||
Cog,
|
Cog,
|
||||||
metaclass=CompositeMetaClass,
|
metaclass=CompositeMetaClass,
|
||||||
):
|
):
|
||||||
"""Play audio through voice channels."""
|
|
||||||
|
|
||||||
llset_captcha_intervals = [
|
llset_captcha_intervals = [
|
||||||
(datetime.timedelta(days=1), 1),
|
(datetime.timedelta(days=1), 1),
|
||||||
]
|
]
|
||||||
|
|||||||
@ -8,8 +8,13 @@ from .miscellaneous import MiscellaneousCommands
|
|||||||
from .player import PlayerCommands
|
from .player import PlayerCommands
|
||||||
from .playlists import PlaylistCommands
|
from .playlists import PlaylistCommands
|
||||||
from .queue import QueueCommands
|
from .queue import QueueCommands
|
||||||
|
from redbot.core.i18n import Translator, cog_i18n
|
||||||
|
|
||||||
|
|
||||||
|
_ = Translator("Audio", __file__)
|
||||||
|
|
||||||
|
|
||||||
|
@cog_i18n(_)
|
||||||
class Commands(
|
class Commands(
|
||||||
AudioSetCommands,
|
AudioSetCommands,
|
||||||
PlayerControllerCommands,
|
PlayerControllerCommands,
|
||||||
@ -22,4 +27,4 @@ class Commands(
|
|||||||
QueueCommands,
|
QueueCommands,
|
||||||
metaclass=CompositeMetaClass,
|
metaclass=CompositeMetaClass,
|
||||||
):
|
):
|
||||||
"""Class joining all command subclasses"""
|
"""Play audio through voice channels."""
|
||||||
|
|||||||
@ -1168,7 +1168,6 @@ class AudioSetCommands(MixinMeta, metaclass=CompositeMetaClass):
|
|||||||
|
|
||||||
@command_audioset.command(name="logs")
|
@command_audioset.command(name="logs")
|
||||||
@commands.is_owner()
|
@commands.is_owner()
|
||||||
@commands.guild_only()
|
|
||||||
@has_managed_server()
|
@has_managed_server()
|
||||||
async def command_audioset_logs(self, ctx: commands.Context):
|
async def command_audioset_logs(self, ctx: commands.Context):
|
||||||
"""Sends the managed Lavalink node logs to your DMs."""
|
"""Sends the managed Lavalink node logs to your DMs."""
|
||||||
|
|||||||
@ -10,10 +10,11 @@ from red_commons.logging import getLogger
|
|||||||
from redbot.core import commands
|
from redbot.core import commands
|
||||||
from redbot.core.data_manager import cog_data_path
|
from redbot.core.data_manager import cog_data_path
|
||||||
from redbot.core.i18n import Translator
|
from redbot.core.i18n import Translator
|
||||||
from redbot.core.utils.chat_formatting import box, inline
|
from redbot.core.utils.chat_formatting import box, humanize_list, inline
|
||||||
|
|
||||||
from ..abc import MixinMeta
|
from ..abc import MixinMeta
|
||||||
from ..cog_utils import CompositeMetaClass
|
from ..cog_utils import CompositeMetaClass
|
||||||
|
from ...managed_node import version_pins
|
||||||
from ...utils import (
|
from ...utils import (
|
||||||
MAX_JAVA_RAM,
|
MAX_JAVA_RAM,
|
||||||
DEFAULT_LAVALINK_YAML,
|
DEFAULT_LAVALINK_YAML,
|
||||||
@ -29,6 +30,16 @@ log = getLogger("red.cogs.Audio.cog.Commands.lavalink_setup")
|
|||||||
_ = Translator("Audio", Path(__file__))
|
_ = Translator("Audio", Path(__file__))
|
||||||
|
|
||||||
|
|
||||||
|
class LavalinkSetupJavaCommand(commands.Command):
|
||||||
|
def format_text_for_context(self, ctx: commands.Context, text: str) -> str:
|
||||||
|
text = super().format_text_for_context(ctx, text)
|
||||||
|
return text.format(
|
||||||
|
supported_java_versions=humanize_list(
|
||||||
|
list(map(str, version_pins.SUPPORTED_JAVA_VERSIONS))
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class LavalinkSetupCommands(MixinMeta, metaclass=CompositeMetaClass):
|
class LavalinkSetupCommands(MixinMeta, metaclass=CompositeMetaClass):
|
||||||
@commands.group(name="llset")
|
@commands.group(name="llset")
|
||||||
@commands.is_owner()
|
@commands.is_owner()
|
||||||
@ -43,7 +54,7 @@ class LavalinkSetupCommands(MixinMeta, metaclass=CompositeMetaClass):
|
|||||||
All the commands in here have the potential to break the Audio cog.
|
All the commands in here have the potential to break the Audio cog.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@command_llset.command(name="java")
|
@command_llset.command(name="java", cls=LavalinkSetupJavaCommand)
|
||||||
@has_managed_server()
|
@has_managed_server()
|
||||||
async def command_llset_java(self, ctx: commands.Context, *, java_path: str = "java"):
|
async def command_llset_java(self, ctx: commands.Context, *, java_path: str = "java"):
|
||||||
"""Change your Java executable path.
|
"""Change your Java executable path.
|
||||||
@ -51,7 +62,7 @@ class LavalinkSetupCommands(MixinMeta, metaclass=CompositeMetaClass):
|
|||||||
This command shouldn't need to be used most of the time, and is only useful if the host machine has conflicting Java versions.
|
This command shouldn't need to be used most of the time, and is only useful if the host machine has conflicting Java versions.
|
||||||
|
|
||||||
If changing this make sure that the Java executable you set is supported by Audio.
|
If changing this make sure that the Java executable you set is supported by Audio.
|
||||||
The current supported versions are Java 17 and 11.
|
The current supported versions are Java {supported_java_versions}.
|
||||||
|
|
||||||
Enter nothing or "java" to reset it back to default.
|
Enter nothing or "java" to reset it back to default.
|
||||||
"""
|
"""
|
||||||
|
|||||||
673
redbot/cogs/audio/core/commands/locales/ar-SA.po
generated
673
redbot/cogs/audio/core/commands/locales/ar-SA.po
generated
File diff suppressed because it is too large
Load Diff
673
redbot/cogs/audio/core/commands/locales/bg-BG.po
generated
673
redbot/cogs/audio/core/commands/locales/bg-BG.po
generated
File diff suppressed because it is too large
Load Diff
673
redbot/cogs/audio/core/commands/locales/cs-CZ.po
generated
673
redbot/cogs/audio/core/commands/locales/cs-CZ.po
generated
File diff suppressed because it is too large
Load Diff
673
redbot/cogs/audio/core/commands/locales/da-DK.po
generated
673
redbot/cogs/audio/core/commands/locales/da-DK.po
generated
File diff suppressed because it is too large
Load Diff
1010
redbot/cogs/audio/core/commands/locales/de-DE.po
generated
1010
redbot/cogs/audio/core/commands/locales/de-DE.po
generated
File diff suppressed because it is too large
Load Diff
675
redbot/cogs/audio/core/commands/locales/es-ES.po
generated
675
redbot/cogs/audio/core/commands/locales/es-ES.po
generated
File diff suppressed because it is too large
Load Diff
3405
redbot/cogs/audio/core/commands/locales/et-EE.po
generated
Normal file
3405
redbot/cogs/audio/core/commands/locales/et-EE.po
generated
Normal file
File diff suppressed because it is too large
Load Diff
675
redbot/cogs/audio/core/commands/locales/fi-FI.po
generated
675
redbot/cogs/audio/core/commands/locales/fi-FI.po
generated
File diff suppressed because it is too large
Load Diff
675
redbot/cogs/audio/core/commands/locales/fr-FR.po
generated
675
redbot/cogs/audio/core/commands/locales/fr-FR.po
generated
File diff suppressed because it is too large
Load Diff
673
redbot/cogs/audio/core/commands/locales/hi-IN.po
generated
673
redbot/cogs/audio/core/commands/locales/hi-IN.po
generated
File diff suppressed because it is too large
Load Diff
673
redbot/cogs/audio/core/commands/locales/hr-HR.po
generated
673
redbot/cogs/audio/core/commands/locales/hr-HR.po
generated
File diff suppressed because it is too large
Load Diff
673
redbot/cogs/audio/core/commands/locales/hu-HU.po
generated
673
redbot/cogs/audio/core/commands/locales/hu-HU.po
generated
File diff suppressed because it is too large
Load Diff
673
redbot/cogs/audio/core/commands/locales/id-ID.po
generated
673
redbot/cogs/audio/core/commands/locales/id-ID.po
generated
File diff suppressed because it is too large
Load Diff
673
redbot/cogs/audio/core/commands/locales/it-IT.po
generated
673
redbot/cogs/audio/core/commands/locales/it-IT.po
generated
File diff suppressed because it is too large
Load Diff
673
redbot/cogs/audio/core/commands/locales/ja-JP.po
generated
673
redbot/cogs/audio/core/commands/locales/ja-JP.po
generated
File diff suppressed because it is too large
Load Diff
677
redbot/cogs/audio/core/commands/locales/ko-KR.po
generated
677
redbot/cogs/audio/core/commands/locales/ko-KR.po
generated
File diff suppressed because it is too large
Load Diff
682
redbot/cogs/audio/core/commands/locales/nb-NO.po
generated
682
redbot/cogs/audio/core/commands/locales/nb-NO.po
generated
File diff suppressed because it is too large
Load Diff
673
redbot/cogs/audio/core/commands/locales/nl-NL.po
generated
673
redbot/cogs/audio/core/commands/locales/nl-NL.po
generated
File diff suppressed because it is too large
Load Diff
675
redbot/cogs/audio/core/commands/locales/pl-PL.po
generated
675
redbot/cogs/audio/core/commands/locales/pl-PL.po
generated
File diff suppressed because it is too large
Load Diff
673
redbot/cogs/audio/core/commands/locales/pt-BR.po
generated
673
redbot/cogs/audio/core/commands/locales/pt-BR.po
generated
File diff suppressed because it is too large
Load Diff
693
redbot/cogs/audio/core/commands/locales/pt-PT.po
generated
693
redbot/cogs/audio/core/commands/locales/pt-PT.po
generated
File diff suppressed because it is too large
Load Diff
953
redbot/cogs/audio/core/commands/locales/ru-RU.po
generated
953
redbot/cogs/audio/core/commands/locales/ru-RU.po
generated
File diff suppressed because it is too large
Load Diff
673
redbot/cogs/audio/core/commands/locales/sk-SK.po
generated
673
redbot/cogs/audio/core/commands/locales/sk-SK.po
generated
File diff suppressed because it is too large
Load Diff
673
redbot/cogs/audio/core/commands/locales/sl-SI.po
generated
673
redbot/cogs/audio/core/commands/locales/sl-SI.po
generated
File diff suppressed because it is too large
Load Diff
673
redbot/cogs/audio/core/commands/locales/sv-SE.po
generated
673
redbot/cogs/audio/core/commands/locales/sv-SE.po
generated
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user