Compare commits

...

62 Commits

Author SHA1 Message Date
Bibo-Joshi 0015fcdf9d Bump Version to v22.5 (#4979) 2025-09-27 15:33:00 +02:00
Bibo-Joshi 54f80cb54f Documentation Improvements (#4974) 2025-09-27 15:09:47 +02:00
Bibo-Joshi 4bc2f1f60b Fix Handling of Infinite Bootstrap Retries (#4973) 2025-09-27 14:40:26 +02:00
renovate[bot] 4f7f1ba21b Update dependency furo to v2025.9.25 (#4978)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-27 08:50:07 +00:00
renovate[bot] 9c0efaf2f6 Update Ruff to v0.13.2 (#4977)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-27 02:17:29 +00:00
renovate[bot] 8434c0aaea Update dependency astral-sh/uv to v0.8.22 (#4975)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-27 02:16:05 +00:00
renovate[bot] 96138510ca Update github/codeql-action action to v3.30.5 (#4976)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-27 02:15:20 +00:00
Aweryc 6e951a9fd3 Convenience Functionality for BusinessOpeningHours (#4861)
Co-authored-by: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com>
2025-09-24 17:23:23 +02:00
Abdelrahman Elkheir 1f5cfc8f9b Move Parameter ReplyParameters.checklist_task_id to Last Position (#4972) 2025-09-24 09:48:03 +02:00
renovate[bot] 066ba5bb32 Update Ruff to v0.13.1 (#4962)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Harshil <37377066+harshil21@users.noreply.github.com>
2025-09-22 06:24:56 +00:00
renovate[bot] 0375b7d701 Update actions/stale action to v10 (#4964)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 06:09:58 +00:00
renovate[bot] 67db3df426 Update actions/setup-python action to v6 (#4963)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 05:59:46 +00:00
Harshil 152269cdcd Tune Renovate Configuration (#4968)
Co-authored-by: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com>
2025-09-22 07:56:44 +02:00
renovate[bot] 8043bf265d Lock file maintenance (#4967)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 00:29:06 +00:00
Bibo-Joshi 14f8e89cef Properly Pin Dependency to astral/setup-uv in Copilot Setup Steps (#4965) 2025-09-20 06:41:56 +00:00
renovate[bot] 0f7d9ec5da Update astral-sh/setup-uv action to v6.7.0 (#4961)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-20 00:44:38 +00:00
renovate[bot] 047844f9af Update Mypy to v1.18.2 (#4960)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-20 00:37:31 +00:00
renovate[bot] caceaf71b8 Update dependency astral-sh/uv to v0.8.19 (#4959)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-20 00:36:32 +00:00
renovate[bot] cfa9230f15 Update astral-sh/setup-uv digest to 208b0c0 (#4958)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-20 00:35:13 +00:00
renovate[bot] b37ba3a44e Lock file maintenance (#4955)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-18 17:58:08 +00:00
renovate[bot] 1116de4ebd Lock file maintenance (#4954)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-18 02:32:12 +00:00
renovate[bot] 437c4d7bfb Update pre-commit hook cachetools to >=5.5.2,<5.6.0 (#4951)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hinrich Mahler <22366557+Bibo-Joshi@users.noreply.github.com>
2025-09-15 20:50:01 +00:00
renovate[bot] 630db8f0ef Update pre-commit hook APScheduler to ~=3.11.0 (#4950)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hinrich Mahler <22366557+Bibo-Joshi@users.noreply.github.com>
2025-09-15 22:44:45 +02:00
renovate[bot] 008fcdea5f Update Mypy to v1.18.1 (#4949)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hinrich Mahler <22366557+Bibo-Joshi@users.noreply.github.com>
2025-09-15 20:25:43 +00:00
renovate[bot] 7aa1356089 Update Chango to v0.5.0 (#4948)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 18:34:02 +02:00
renovate[bot] ecfb4583d6 Update pypa/gh-action-pypi-publish action to v1.13.0 (#4952)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 18:33:10 +02:00
renovate[bot] f56371fae3 Update Pylint to v3.3.8 (#4947)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 18:33:04 +02:00
renovate[bot] 9f3c5e4f2b Update github/codeql-action action to v3.30.3 (#4946)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 18:32:00 +02:00
renovate[bot] 489561d531 Update dependency astral-sh/uv to v0.8.17 (#4945)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 18:31:55 +02:00
renovate[bot] 568e63933c Update codecov/codecov-action action to v5.5.1 (#4944)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 18:31:42 +02:00
renovate[bot] f8f12e7bd4 Update astral-sh/setup-uv digest to b75a909 (#4943)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 18:27:15 +02:00
renovate[bot] 94afda2b69 Lock File Maintenance (#4938)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 18:25:46 +02:00
Harshil a81fc86792 Tweak Renovate Configuration (#4953)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-15 17:15:04 +02:00
Bibo-Joshi 0748538b6f Bump Version to v22.4 (#4939) 2025-09-13 17:14:30 +02:00
Bibo-Joshi 539cc13097 Documentation Improvements (#4878)
Co-authored-by: Ca5parAD <github.unearned388@passmail.net>
Co-authored-by: Harshil <37377066+harshil21@users.noreply.github.com>
Co-authored-by: Poolitzer <github@poolitzer.eu>
Co-authored-by: aelkheir <90580077+aelkheir@users.noreply.github.com>
2025-09-13 16:56:58 +02:00
Abdelrahman Elkheir 068ee7ea9d Full Support for Bot API 9.2 (#4911)
Co-authored-by: Harshil <37377066+harshil21@users.noreply.github.com>
Co-authored-by: Poolitzer <github@poolitzer.eu>
Co-authored-by: Hinrich Mahler <22366557+Bibo-Joshi@users.noreply.github.com>
2025-09-13 16:56:04 +02:00
renovate[bot] 73e5958ee6 Replace Dependabot with Renovate (#4887)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Harshil <37377066+harshil21@users.noreply.github.com>
Co-authored-by: Hinrich Mahler <22366557+Bibo-Joshi@users.noreply.github.com>
2025-09-10 16:13:34 +02:00
Jãїиãм 0790bd8364 Support Business Message Deletion in telegram.Message.delete() (#4869)
Co-authored-by: aelkheir <90580077+aelkheir@users.noreply.github.com>
2025-09-07 20:50:27 +02:00
Harshil 9205d01edc Use Tagged Release of pydantic in Development Dependencies (#4934)
Co-authored-by: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com>
2025-09-07 20:25:22 +02:00
dependabot[bot] 55241e4aed Bump pytest from 8.4.1 to 8.4.2 (#4933)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com>
2025-09-06 04:14:44 +02:00
dependabot[bot] 4a0fb4d533 Update cachetools requirement from <6.2.0,>=5.3.3 to >=5.3.3,<6.3.0 (#4923)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com>
2025-09-05 20:27:09 +02:00
dependabot[bot] 3e82dd4afd Bump actions/checkout from 4.2.2 to 5.0.0 (#4925)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com>
2025-09-05 20:26:24 +02:00
dependabot[bot] aa11132358 Bump codecov/codecov-action from 5.4.3 to 5.5.0 (#4926)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com>
2025-09-05 20:26:08 +02:00
dependabot[bot] 646730eed1 Bump github/codeql-action from 3.29.7 to 3.30.0 (#4929)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com>
2025-09-05 20:25:47 +02:00
dependabot[bot] 08385e27db Bump actions/download-artifact from 4.3.0 to 5.0.0 (#4927)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com>
2025-09-05 20:25:21 +02:00
dependabot[bot] 8bb5c93c09 Bump astral-sh/setup-uv from 6.4.3 to 6.6.1 (#4928)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com>
2025-09-05 20:25:02 +02:00
Harshil 1472674587 Don't update uv.lock in copilot runtime environment (#4915) 2025-08-17 11:36:03 +02:00
Copilot 19d891aceb Fix ResourceWarning when passing pathlib.Path to methods which accept file input (#4908)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: harshil21 <37377066+harshil21@users.noreply.github.com>
2025-08-17 11:34:01 +02:00
Harshil 47fd9fcc7e Add filters.FORUM (#4906) 2025-08-17 11:20:02 +02:00
Harshil 4654d195f5 Add GitHub Copilot Instructions and Setup Steps (#4884) 2025-08-08 06:53:48 +02:00
Harshil 58390dd350 Add uv.lock (#4890)
Co-authored-by: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com>
2025-08-08 06:53:03 +02:00
Copilot cea812dabd Adapt Logic on Getting the Event Loop in Application.run_polling/webhook to Python 3.14 (#4875)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: harshil21 <37377066+harshil21@users.noreply.github.com>
2025-08-02 17:18:53 +02:00
dependabot[bot] 94da8a8d67 Bump pytest-xdist from 3.6.1 to 3.8.0 (#4893)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com>
2025-08-02 03:54:46 +02:00
dependabot[bot] 616cfe59b9 Bump furo from 2024.8.6 to 2025.7.19 (#4894)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com>
2025-08-02 03:30:29 +02:00
dependabot[bot] aeb4b58fa1 Bump pytest from 8.4.0 to 8.4.1 (#4892)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com>
2025-08-02 03:18:46 +02:00
dependabot[bot] 4196a3d787 Bump astral-sh/setup-uv from 6.3.1 to 6.4.3 (#4895)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com>
2025-08-02 03:06:03 +02:00
dependabot[bot] 7e75469697 Bump github/codeql-action from 3.29.2 to 3.29.5 (#4896)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com>
2025-08-02 03:05:47 +02:00
Bibo-Joshi a76fa2c79e Improve Internal Logic for Network Retries (#4880) 2025-08-02 02:11:57 +02:00
Poolitzer 197f29b6eb Improve HTTPXRequest Connection Pool Settings (#4882)
Co-authored-by: Harshil <37377066+harshil21@users.noreply.github.com>
Co-authored-by: Bibo-Joshi <22366557+Bibo-Joshi@users.noreply.github.com>
2025-07-31 20:54:35 +02:00
Harshil 89dd168ab2 Remove black, isort, flake8, and pyupgrade in favor of Ruff (#4886) 2025-07-31 19:25:36 +02:00
Abdelrahman Elkheir 6752547460 Add Convenience Properties to SharedUser and ChatShared (#4881)
Co-authored-by: david-shiko <dsb321mp@gmail.com>
2025-07-28 18:34:01 +02:00
Bibo-Joshi 996b0b3025 Address Failing Unit Test for send_paid_media (#4879) 2025-07-26 17:23:27 +02:00
315 changed files with 7348 additions and 607 deletions
+2 -3
View File
@@ -87,7 +87,7 @@ Here's how to make a one-off code change.
- Documenting types of global variables and complex types of class members can be done using the Sphinx docstring convention.
- In addition, PTB uses some formatting/styling and linting tools in the pre-commit setup. Some of those tools also have command line tools that can help to run these tools outside of the pre-commit step. If you'd like to leverage that, please have a look at the `pre-commit config file`_ for an overview of which tools (and which versions of them) are used. For example, we use `Black`_ for code formatting. Plugins for Black exist for some `popular editors`_. You can use those instead of manually formatting everything.
- In addition, PTB uses some formatting/styling and linting tools in the pre-commit setup. Some of those tools also have command line tools that can help to run these tools outside of the pre-commit step. If you'd like to leverage that, please have a look at the `pre-commit config file`_ for an overview of which tools (and which versions of them) are used. For example, we use `Ruff`_ for linting and formatting.
- Please ensure that the code you write is well-tested and that all automated tests still pass. We
have dedicated an `testing page`_ to help you with that.
@@ -288,8 +288,7 @@ to add new required arguments. It's also more explicit and easier to read.
.. _`MyPy`: https://mypy.readthedocs.io/en/stable/index.html
.. _`here`: https://mypy.readthedocs.io/en/stable/cheat_sheet_py3.html
.. _`pre-commit config file`: https://github.com/python-telegram-bot/python-telegram-bot/blob/master/.pre-commit-config.yaml
.. _`Black`: https://black.readthedocs.io/en/stable/index.html
.. _`popular editors`: https://black.readthedocs.io/en/stable/integrations/editors.html
.. _`Ruff`: https://docs.astral.sh/ruff/
.. _`RTD`: https://docs.python-telegram-bot.org/
.. _`RTD build`: https://docs.python-telegram-bot.org/en/doc-fixes
.. _`CSI`: https://standards.mousepawmedia.com/en/stable/csi.html
+40
View File
@@ -0,0 +1,40 @@
This is a python project which is a wrapper for the Telegram Bot API. Please read the contributing
guidelines mentioned in .github/CONTRIBUTING.rst to know how to contribute to this project. The
README.rst file lists the features and usage of the project.
### Development Environment:
Your development environment is set up using `uv`, a tool for managing Python environments and dependencies.
Your environment has all extra dependencies and groups installed, on Python 3.13. Please continue using `uv` for managing your development environment,
and for any scripts or tools you need to run.
Some example commands on `uv`:
- `uv sync --all-extras --all-groups --locked` to install all dependencies and groups required by the project.
- `uv run -p 3.14 --all-groups --all-extras --locked tests/` to run tests on a specific Python version. Please use the `-p` flag often.
- `uv pip install <package>` to install a package in the current environment.
If uv is somehow not available, you can install it using `pip install uv`.
### Repository Structure:
The repository follows a standard structure for Python projects. Here are some key directories and files:
- `src/`: This directory contains the main source code for the project.
- `tests/`: This directory contains test cases for the project.
- `pyproject.toml`: This file contains the project metadata and dependencies.
- `.github/`: This directory contains GitHub-specific files, including workflows and issue templates.
### Things to keep in mind while coding:
- Ensure that your code is properly and fully typed. All your code should be compatible from
Python 3.9 to 3.14. Don't use the `typing_extensions` module.
- Read the stability guide mentioned at docs/source/stability_policy.rst to understand if your changes
are breaking or incompatible.
- Try to make sure your code is asyncio-friendly and thread-safe.
- Run `uv run pre-commit` to run pre-commit hooks before committing your changes, but after `git add`ing them.
- Make sure you always test your changes. Either update or write new tests in the `tests/` directory.
### Pull Requests:
When you create a pull request, please also add the appropriate labels to it.
-20
View File
@@ -1,20 +0,0 @@
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
day: "friday"
labels:
- "⚙️ dependencies"
- "🔗 python"
# Updates the dependencies of the GitHub Actions workflows
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
day: "friday"
labels:
- "⚙️ dependencies"
- "🔗 github-actions"
+77
View File
@@ -0,0 +1,77 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [ // See what config:best-practices does: https://docs.renovatebot.com/presets-config/#configbest-practices
"config:best-practices",
// Opt-in to updating the pre-commit-config.yaml file too:
":enablePreCommit",
":prConcurrentLimitNone" // No limits on the number of open PRs.
],
// Add pull request labels:
"labels": ["⚙️ ci-cd"],
// Bump even patch versions:
"bumpVersion": "patch",
// Let Renovate decide how to update. See docs: https://docs.renovatebot.com/configuration-options/#rangestrategy
"rangeStrategy": "auto",
// Update the lock files:
"lockFileMaintenance": {
"enabled": true,
"schedule": ["* 0-3 1 * *"], // https://docs.renovatebot.com/presets-schedule/#schedulemonthly
"automerge": true
},
// Enable automerge globally:
"automerge": true,
// Group package updates together:
"packageRules": [
// Linting dependencies in pyproject.toml in sync with the pre-commit-config hooks:
// Unfortunately it seems we need to do this for every dependency group (https://github.com/python-telegram-bot/python-telegram-bot/pull/4887#discussion_r2272025832):
{
"description": "Group Ruff updates together",
"matchPackageNames": ["ruff", "astral-sh/ruff-pre-commit"],
"groupName": "Ruff"
},
{
"description": "Group mypy updates together",
"matchPackageNames": ["mypy", "pre-commit/mirrors-mypy"],
"groupName": "Mypy"
},
{
"description": "Group pylint updates together",
"matchPackageNames": ["pylint", "PyCQA/pylint"],
"groupName": "Pylint"
},
{
"description": "Group chango updates together",
"matchPackageNames": ["chango", "Bibo-Joshi/chango"],
"groupName": "Chango"
},
// Don't automerge major updates for project dependencies:
{
"matchUpdateTypes": ["major"],
"matchDepTypes": ["project.dependencies", "project.optional-dependencies"],
"automerge": false
},
// Apply the "dependencies" label to all updates of optional/required dependencies:
{
"matchDepTypes": ["project.optional-dependencies", "project.dependencies"],
"labels": ["⚙️ dependencies"]
}
],
// Increase the number of PR's Renovate can create in a hour. Default is 2.
"prHourlyLimit": 5,
// Temporarily disabled:
"ignoreDeps": ["pytest-asyncio"],
// schedule to allow PR's from Renovate:
"schedule": ["* * * * 0,6"] // Every weekend
}
+3 -3
View File
@@ -20,7 +20,7 @@ jobs:
IS_RELEASE_PR: ${{ steps.check_title.outputs.IS_RELEASE_PR }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
# needed for commit and push step at the end
persist-credentials: true
@@ -36,7 +36,7 @@ jobs:
fi
# Create the new fragment
- uses: Bibo-Joshi/chango@9d6bd9d7612eca5fab2c5161687011be59baaf19 # v0.4.0
- uses: Bibo-Joshi/chango@212fc662da1b1026f335e110270d75690df05758 # 0.5.0
with:
github-token: ${{ secrets.CHANGO_PAT }}
query-issue-types: true
@@ -45,7 +45,7 @@ jobs:
# Run `chango release` if applicable - needs some additional setup.
- name: Set up Python
if: steps.check_title.outputs.IS_RELEASE_PR == 'true'
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: "3.x"
+42
View File
@@ -0,0 +1,42 @@
# This file is for the copilot agent on Github. This helps to set up the development environment
# See the docs here: https://docs.github.com/en/enterprise-cloud@latest/copilot/how-tos/use-copilot-agents/coding-agent/customize-the-agent-environment#preinstalling-tools-or-dependencies-in-copilots-environment
name: "Copilot Setup Steps"
# Automatically run the setup steps when they are changed to allow for easy validation, and
# allow manual testing through the repository's "Actions" tab
on:
workflow_dispatch:
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml
jobs:
# The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
copilot-setup-steps:
runs-on: ubuntu-latest
# Set the permissions to the lowest permissions possible needed for your steps.
# Copilot will be given its own token for its operations.
permissions:
# If you want to clone the repository as part of your setup steps, for example to install dependencies, you'll need the `contents: read` permission. If you don't clone the repository in your setup steps, Copilot will do this for you automatically after the steps complete.
contents: read
pull-requests: write # So copilot can add labels to the PR
# You can define any steps you want, and they will run before the agent starts.
# If you do not check out your code, Copilot will do this for you.
steps:
- name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Install uv
uses: astral-sh/setup-uv@b75a909f75acd358c2196fb9a5f1299a9a8868a4 # v6.7.0
with:
# Install a specific version of uv.
version: "0.8.22"
# Install 3.13:
python-version: 3.13
- name: Install the project
run: uv sync --all-extras --all-groups --locked
-41
View File
@@ -1,41 +0,0 @@
name: Process Dependabot PRs
on:
pull_request:
types: [opened, reopened]
permissions: {}
jobs:
process-dependabot-prs:
permissions:
pull-requests: read
contents: write
runs-on: ubuntu-latest
if: ${{ github.event.pull_request.user.login == 'dependabot[bot]' }}
steps:
- name: Fetch Dependabot metadata
id: dependabot-metadata
uses: dependabot/fetch-metadata@08eff52bf64351f401fb50d4972fa95b9f2c2d1b # v2.4.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ github.event.pull_request.head.ref }}
persist-credentials: false
- name: Update Version Number in Other Files
uses: jacobtomlinson/gha-find-replace@f1069b438f125e5395d84d1c6fd3b559a7880cb5 # v3
with:
find: ${{ steps.dependabot-metadata.outputs.previous-version }}
replace: ${{ steps.dependabot-metadata.outputs.new-version }}
regex: false
exclude: CHANGES.rst
- name: Commit & Push Changes to PR
uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9.1.4
with:
message: 'Update version number in other files'
committer_name: GitHub Actions
committer_email: 41898282+github-actions[bot]@users.noreply.github.com
+2 -2
View File
@@ -24,11 +24,11 @@ jobs:
os: [ubuntu-latest]
fail-fast: False
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
+2 -2
View File
@@ -19,11 +19,11 @@ jobs:
os: [ubuntu-latest]
fail-fast: False
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
+4 -4
View File
@@ -17,17 +17,17 @@ jobs:
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Install the latest version of uv
uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1
uses: astral-sh/setup-uv@b75a909f75acd358c2196fb9a5f1299a9a8868a4 # v6.7.0
- name: Run zizmor
run: uvx zizmor --persona=pedantic --format sarif . > results.sarif
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload SARIF file
uses: github/codeql-action/upload-sarif@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
uses: github/codeql-action/upload-sarif@3599b3baa15b485a2e49ef411a7a4bb2452e7f93 # v3.30.5
with:
sarif_file: results.sarif
category: zizmor
category: zizmor
+8 -8
View File
@@ -17,11 +17,11 @@ jobs:
actions: write
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: "3.x"
- name: Install pypa/build
@@ -55,12 +55,12 @@ jobs:
steps:
- name: Download all the dists
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: python-package-distributions
path: dist/
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
compute-signatures:
name: Compute SHA1 Sums and Sign with Sigstore
@@ -74,7 +74,7 @@ jobs:
steps:
- name: Download all the dists
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: python-package-distributions
path: dist/
@@ -110,11 +110,11 @@ jobs:
actions: read # for downloading artifacts
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Download all the dists
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: python-package-distributions-and-signatures
path: dist/
@@ -155,7 +155,7 @@ jobs:
permissions: {}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Publish to Telegram Channel
+7 -7
View File
@@ -17,11 +17,11 @@ jobs:
actions: write
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: "3.x"
- name: Install pypa/build
@@ -55,12 +55,12 @@ jobs:
steps:
- name: Download all the dists
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: python-package-distributions
path: dist/
- name: Publish to Test PyPI
uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
with:
repository-url: https://test.pypi.org/legacy/
@@ -76,7 +76,7 @@ jobs:
steps:
- name: Download all the dists
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: python-package-distributions
path: dist/
@@ -112,11 +112,11 @@ jobs:
actions: read # for downloading artifacts
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Download all the dists
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: python-package-distributions-and-signatures
path: dist/
+1 -1
View File
@@ -12,7 +12,7 @@ jobs:
# For adding labels and closing
issues: write
steps:
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0
with:
# PRs never get stale
days-before-stale: 3
+2 -2
View File
@@ -23,11 +23,11 @@ jobs:
os: [ubuntu-latest]
fail-fast: False
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
+1 -1
View File
@@ -16,7 +16,7 @@ jobs:
name: test-type-completeness
runs-on: ubuntu-latest
steps:
- uses: Bibo-Joshi/pyright-type-completeness@c85a67ff3c66f51dcbb2d06bfcf4fe83a57d69cc # v1.0.1
- uses: Bibo-Joshi/pyright-type-completeness@c85a67ff3c66f51dcbb2d06bfcf4fe83a57d69cc # 1.0.1
with:
package-name: telegram
python-version: 3.12
@@ -11,7 +11,7 @@ jobs:
name: test-type-completeness
runs-on: ubuntu-latest
steps:
- uses: Bibo-Joshi/pyright-type-completeness@c85a67ff3c66f51dcbb2d06bfcf4fe83a57d69cc # v1.0.1
- uses: Bibo-Joshi/pyright-type-completeness@c85a67ff3c66f51dcbb2d06bfcf4fe83a57d69cc # 1.0.1
id: pyright-type-completeness
with:
package-name: telegram
+3 -6
View File
@@ -9,9 +9,6 @@ on:
push:
branches:
- master
schedule:
# Run monday and friday morning at 03:07 - odd time to spread load on GitHub Actions
- cron: '7 3 * * 1,5'
permissions: {}
@@ -25,11 +22,11 @@ jobs:
os: [ubuntu-latest, windows-latest, macos-latest]
fail-fast: False
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
@@ -86,7 +83,7 @@ jobs:
.test_report_optionals_junit.xml
- name: Submit coverage
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
env_vars: OS,PYTHON
name: ${{ matrix.os }}-${{ matrix.python-version }}
+4 -1
View File
@@ -97,4 +97,7 @@ pyvenv.cfg
Scripts/
# environment manager:
.mise.toml
.mise.toml
# Support for uv.lock will come in a future PR. See #4796
uv.lock
+21 -44
View File
@@ -1,83 +1,60 @@
# Make sure that the additional_dependencies here match pyproject.toml
ci:
autofix_prs: false
# We use Renovate to update this file now, but we can't disable automatic pre-commit updates
# when using the `pre-commit` GitHub Action, so we set the schedule to quarterly to avoid
# frequent updates.
autoupdate_schedule: quarterly
autoupdate_commit_msg: 'Bump `pre-commit` Hooks to Latest Versions'
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: 'v0.12.2'
rev: 'v0.13.2'
hooks:
- id: ruff
name: ruff
additional_dependencies:
- httpx~=0.27
- tornado~=6.4
- APScheduler~=3.10.4
- cachetools>=5.3.3,<5.5.0
- aiolimiter~=1.1,<1.3
- repo: https://github.com/psf/black-pre-commit-mirror
rev: 25.1.0
hooks:
- id: black
args:
- --diff
- --check
- repo: https://github.com/PyCQA/flake8
rev: 7.3.0
hooks:
- id: flake8
# Run the linter:
- id: ruff-check
name: ruff check
# Run the formatter:
- id: ruff-format
name: ruff format
- repo: https://github.com/PyCQA/pylint
rev: v3.3.7
rev: v3.3.8
hooks:
- id: pylint
files: ^(?!(tests|docs)).*\.py$
language: python
additional_dependencies:
- httpx~=0.27
- tornado~=6.4
- APScheduler~=3.10.4
- cachetools>=5.3.3,<5.5.0
- APScheduler>=3.10.4,<3.12.0
- cachetools>=5.3.3,<6.3.0
- aiolimiter~=1.1,<1.3
- . # this basically does `pip install -e .`
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.16.1
rev: v1.18.2
hooks:
- id: mypy
name: mypy-ptb
files: ^(?!(tests|examples|docs)).*\.py$
language: python
additional_dependencies:
- types-pytz
- types-cryptography
- types-cachetools
- httpx~=0.27
- tornado~=6.4
- APScheduler~=3.10.4
- cachetools>=5.3.3,<5.5.0
- APScheduler>=3.10.4,<3.12.0
- cachetools>=5.3.3,<6.3.0
- aiolimiter~=1.1,<1.3
- . # this basically does `pip install -e .`
- id: mypy
name: mypy-examples
files: ^examples/.*\.py$
language: python
args:
- --no-strict-optional
- --follow-imports=silent
additional_dependencies:
- tornado~=6.4
- APScheduler~=3.10.4
- cachetools>=5.3.3,<5.5.0
- APScheduler>=3.10.4,<3.12.0
- cachetools>=5.3.3,<6.3.0
- . # this basically does `pip install -e .`
- repo: https://github.com/asottile/pyupgrade
rev: v3.20.0
hooks:
- id: pyupgrade
args:
- --py39-plus
- repo: https://github.com/pycqa/isort
rev: 6.0.1
hooks:
- id: isort
name: isort
args:
- --diff
- --check
+1 -1
View File
@@ -26,7 +26,7 @@ build:
jobs:
install:
- pip install -U pip
- pip install .[all] --group 'all' # install all the dependency groups
- pip install .[all] --group 'docs' --group 'tests' # install most dependency groups
post_build:
# Based on https://github.com/readthedocs/readthedocs.org/issues/3242#issuecomment-1410321534
+4 -4
View File
@@ -11,7 +11,7 @@
:target: https://pypi.org/project/python-telegram-bot/
:alt: Supported Python versions
.. image:: https://img.shields.io/badge/Bot%20API-9.1-blue?logo=telegram
.. image:: https://img.shields.io/badge/Bot%20API-9.2-blue?logo=telegram
:target: https://core.telegram.org/bots/api-changelog
:alt: Supported Bot API version
@@ -81,7 +81,7 @@ After installing_ the library, be sure to check out the section on `working with
Telegram API support
~~~~~~~~~~~~~~~~~~~~
All types and methods of the Telegram Bot API **9.1** are natively supported by this library.
All types and methods of the Telegram Bot API **9.2** are natively supported by this library.
In addition, Bot API functionality not yet natively included can still be used as described `in our wiki <https://github.com/python-telegram-bot/python-telegram-bot/wiki/Bot-API-Forward-Compatibility>`_.
Notable Features
@@ -159,7 +159,7 @@ PTB can be installed with optional dependencies:
* ``pip install "python-telegram-bot[http2]"`` installs `httpx[http2] <https://www.python-httpx.org/#dependencies>`_. Use this, if you want to use HTTP/2.
* ``pip install "python-telegram-bot[rate-limiter]"`` installs `aiolimiter~=1.1,<1.3 <https://aiolimiter.readthedocs.io/en/stable/>`_. Use this, if you want to use ``telegram.ext.AIORateLimiter``.
* ``pip install "python-telegram-bot[webhooks]"`` installs the `tornado~=6.4 <https://www.tornadoweb.org/en/stable/>`_ library. Use this, if you want to use ``telegram.ext.Updater.start_webhook``/``telegram.ext.Application.run_webhook``.
* ``pip install "python-telegram-bot[callback-data]"`` installs the `cachetools>=5.3.3,<6.2.0 <https://cachetools.readthedocs.io/en/latest/>`_ library. Use this, if you want to use `arbitrary callback_data <https://github.com/python-telegram-bot/python-telegram-bot/wiki/Arbitrary-callback_data>`_.
* ``pip install "python-telegram-bot[callback-data]"`` installs the `cachetools>=5.3.3,<6.3.0 <https://cachetools.readthedocs.io/en/latest/>`_ library. Use this, if you want to use `arbitrary callback_data <https://github.com/python-telegram-bot/python-telegram-bot/wiki/Arbitrary-callback_data>`_.
* ``pip install "python-telegram-bot[job-queue]"`` installs the `APScheduler>=3.10.4,<3.12.0 <https://apscheduler.readthedocs.io/en/3.x/>`_ library. Use this, if you want to use the ``telegram.ext.JobQueue``.
To install multiple optional dependencies, separate them by commas, e.g. ``pip install "python-telegram-bot[socks,webhooks]"``.
@@ -206,7 +206,7 @@ Concurrency
~~~~~~~~~~~
Since v20.0, ``python-telegram-bot`` is built on top of Pythons ``asyncio`` module.
Because ``asyncio`` is in general single-threaded, ``python-telegram-bot`` does currently not aim to be thread-safe.
Because ``asyncio`` is in general single-threaded, ``python-telegram-bot`` currently does not aim to be thread-safe.
Noteworthy parts of ``python-telegram-bots`` API that are likely to cause issues (e.g. race conditions) when used in a multi-threaded setting include:
* ``telegram.ext.Application/Updater.update_queue``
@@ -0,0 +1,5 @@
features = "Extend :meth:`telegram.Message.delete` shortcut to support business message deletion"
[[pull_requests]]
uid = "4869"
author_uid = "jainamoswal"
closes_threads = ["4867"]
@@ -0,0 +1,5 @@
bugfixes = "Adapt logic on getting the event loop in ``Application.run_polling/webhook`` to Python 3.14"
[[pull_requests]]
uid = "4875"
author_uid = "harshil21"
closes_threads = ["4874"]
@@ -0,0 +1,9 @@
documentation = "Documentation Improvements"
[[pull_requests]]
uid = "4878"
author_uid = "Bibo-Joshi"
[[pull_requests]]
uid = "4872"
author_uid = "Ca5parAD"
@@ -0,0 +1,5 @@
internal = "Address Failing Unit Test for ``send_paid_media``"
[[pull_requests]]
uid = "4879"
author_uid = "Bibo-Joshi"
@@ -0,0 +1,6 @@
internal = "Improve Internal Logic for Network Retries"
[[pull_requests]]
uid = "4880"
author_uid = "Bibo-Joshi"
closes_threads = ["4871"]
@@ -0,0 +1,6 @@
features = "Add convenience properties for ``firstname``, ``lastname``, and ``username`` to ``SharedUser`` and ``ChatShared``"
internal = "Introduce utility module ``_utils.usernames`` refactoring convenience properties around Telegram Objects' ``firstname``, ``lastname``, and ``username``"
pull_requests = [
{ uid = "4881", author_uid = "aelkheir" },
{ uid = "4713", author_uid = "david-shiko" },
]
@@ -0,0 +1,10 @@
other = """
Set the default connection pool size for ``HTTPXRequest`` to 256 to allow more concurrent requests by default. Drop the ``httpx`` parameter ``max_keepalive_connections``. This way, the ``httpx`` default of 20 is used, leading to a smaller number of idle connections in large connection pools.
.. hint::
If you manually build the ``HTTPXRequest`` objects, please be aware that these changes also applies to you. Kindly double check your settings. To specify custom limits, you can set them via the parameter ``httpx_kwargs`` of ``HTTPXRequest``. See also `the httpx documentation <https://www.python-httpx.org/advanced/resource-limits/>`__ for more details on these settings."
"""
[[pull_requests]]
uid = "4882"
author_uid = "Poolitzer"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Add Copilot Instructions and Setup Steps"
[[pull_requests]]
uid = "4884"
author_uid = "harshil21"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Remove ``black``, ``isort``, ``flake8``, and ``pyupgrade`` in favor of ``ruff``"
[[pull_requests]]
uid = "4886"
author_uid = "harshil21"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Use Renovate to Keep Dependencies Up-To-Date"
[[pull_requests]]
uid = "4887"
author_uid = "renovate[bot]"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Add and use a ``uv.lock`` lockfile when setting up the development environment using ``uv``."
[[pull_requests]]
uid = "4890"
author_uid = "harshil21"
closes_threads = ["4796"]
@@ -0,0 +1,5 @@
internal = "Bump ``pytest`` from 8.4.0 to 8.4.1"
[[pull_requests]]
uid = "4892"
author_uid = "dependabot"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Bump ``pytest-xdist`` from 3.6.1 to 3.8.0"
[[pull_requests]]
uid = "4893"
author_uid = "dependabot"
closes_threads = []
@@ -0,0 +1,5 @@
documentation = "Bump ``furo`` from 2024.8.6 to 2025.7.19"
[[pull_requests]]
uid = "4894"
author_uid = "dependabot"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Bump ``astral-sh/setup-uv`` from 6.3.1 to 6.4.3"
[[pull_requests]]
uid = "4895"
author_uid = "dependabot"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Bump ``github/codeql-action`` from 3.29.2 to 3.29.5"
[[pull_requests]]
uid = "4896"
author_uid = "dependabot"
closes_threads = []
@@ -0,0 +1,5 @@
features = "Add ``filters.FORUM`` to filter messages from forum topic chats"
[[pull_requests]]
uid = "4906"
author_uid = "harshil21"
closes_threads = []
@@ -0,0 +1,5 @@
bugfixes = "Fix ``ResourceWarning`` when passing ``pathlib.Path`` objects to methods which accept file input"
[[pull_requests]]
uid = "4908"
author_uid = "harshil21"
closes_threads = ["4907"]
@@ -0,0 +1,14 @@
features = "Full Support for Bot API 9.2"
pull_requests = [
{ uid = "4911", author_uid = "aelkheir", closes_threads = ["4910"] },
{ uid = "4918", author_uid = "Poolitzer" },
{ uid = "4917", author_uid = "Poolitzer" },
{ uid = "4914", author_uid = "harshil21"},
{ uid = "4916", author_uid = "harshil21"},
{ uid = "4912", author_uid = "aelkheir" },
{ uid = "4921", author_uid = "aelkheir" },
{ uid = "4936", author_uid = "Bibo-Joshi" },
{ uid = "4935", author_uid = "Bibo-Joshi" },
{ uid = "4931", author_uid = "aelkheir" },
]
@@ -0,0 +1,5 @@
internal = "Don't update ``uv.lock`` in copilot runtime environment"
[[pull_requests]]
uid = "4915"
author_uid = "harshil21"
closes_threads = []
@@ -0,0 +1,5 @@
dependencies = "Update cachetools requirement from <6.2.0,>=5.3.3 to >=5.3.3,<6.3.0"
[[pull_requests]]
uid = "4923"
author_uid = "dependabot[bot]"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Bump actions/checkout from 4.2.2 to 5.0.0"
[[pull_requests]]
uid = "4925"
author_uid = "dependabot"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Bump codecov/codecov-action from 5.4.3 to 5.5.0"
[[pull_requests]]
uid = "4926"
author_uid = "dependabot"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Bump actions/download-artifact from 4.3.0 to 5.0.0"
[[pull_requests]]
uid = "4927"
author_uid = "dependabot"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Bump astral-sh/setup-uv from 6.4.3 to 6.6.1"
[[pull_requests]]
uid = "4928"
author_uid = "dependabot"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Bump github/codeql-action from 3.29.7 to 3.30.0"
[[pull_requests]]
uid = "4929"
author_uid = "dependabot"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Bump pytest from 8.4.1 to 8.4.2"
[[pull_requests]]
uid = "4933"
author_uid = "dependabot"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Use Tagged Release of `pydantic` in Development Dependencies"
[[pull_requests]]
uid = "4934"
author_uid = "harshil21"
closes_threads = ["4932"]
@@ -0,0 +1,5 @@
other = "Bump Version to v22.4"
[[pull_requests]]
uid = "4939"
author_uid = "Bibo-Joshi"
closes_threads = []
@@ -0,0 +1,10 @@
features = """
Add convenience methods for ``BusinessOpeningHours``:
* ``get_opening_hours_for_day``: returns the opening hours applicable for a specific date
* ``is_open``: indicates whether the business is open at the specified date and time.
"""
[[pull_requests]]
uid = "4861"
author_uid = "Aweryc"
closes_threads = ["4194"]
@@ -0,0 +1,5 @@
internal = "Lock file maintenance"
[[pull_requests]]
uid = "4938"
author_uid = "renovate[bot]"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Update astral-sh/setup-uv digest to b75a909"
[[pull_requests]]
uid = "4943"
author_uid = "renovate[bot]"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Update codecov/codecov-action action to v5.5.1"
[[pull_requests]]
uid = "4944"
author_uid = "renovate[bot]"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Update dependency astral-sh/uv to v0.8.17"
[[pull_requests]]
uid = "4945"
author_uid = "renovate[bot]"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Update github/codeql-action action to v3.30.3"
[[pull_requests]]
uid = "4946"
author_uid = "renovate[bot]"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Update Pylint to v3.3.8"
[[pull_requests]]
uid = "4947"
author_uid = "renovate[bot]"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Update Chango to v0.5.0"
[[pull_requests]]
uid = "4948"
author_uids = ["renovate[bot]"]
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Update Mypy to v1.18.1"
[[pull_requests]]
uid = "4949"
author_uids = ["renovate[bot]"]
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Align pre-commit hook APScheduler to with ``pyproject.toml``"
[[pull_requests]]
uid = "4950"
author_uids = ["renovate[bot]", "Bibo-Joshi"]
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Align pre-commit hook cachetools to with ``pyproject.toml``"
[[pull_requests]]
uid = "4951"
author_uids = ["renovate[bot]", "Bibo-Joshi"]
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Update pypa/gh-action-pypi-publish action to v1.13.0"
[[pull_requests]]
uid = "4952"
author_uid = "renovate[bot]"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Renovate: No README updates, label behaviour change, automerge lockfiles"
[[pull_requests]]
uid = "4953"
author_uid = "harshil21"
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Lock file maintenance"
[[pull_requests]]
uid = "4954"
author_uids = ["renovate[bot]"]
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Lock file maintenance"
[[pull_requests]]
uid = "4955"
author_uids = ["renovate[bot]"]
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Update astral-sh/setup-uv digest to 208b0c0"
[[pull_requests]]
uid = "4958"
author_uids = ["renovate[bot]"]
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Update dependency astral-sh/uv to v0.8.19"
[[pull_requests]]
uid = "4959"
author_uids = ["renovate[bot]"]
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Update Mypy to v1.18.2"
[[pull_requests]]
uid = "4960"
author_uids = ["renovate[bot]"]
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Update astral-sh/setup-uv action to v6.7.0"
[[pull_requests]]
uid = "4961"
author_uids = ["renovate[bot]"]
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Update Ruff to v0.13.1"
[[pull_requests]]
uid = "4962"
author_uids = ["renovate[bot]"]
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Update actions/stale action to v10"
[[pull_requests]]
uid = "4964"
author_uids = ["renovate[bot]"]
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Properly Pin Dependency to ``astral/setup-uv`` in Copilot Setup Steps"
[[pull_requests]]
uid = "4965"
author_uids = ["Bibo-Joshi"]
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Lock file maintenance"
[[pull_requests]]
uid = "4967"
author_uids = ["renovate[bot]"]
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Tune Renovate Configuration"
[[pull_requests]]
uid = "4968"
author_uids = ["harshil21"]
closes_threads = []
@@ -0,0 +1,10 @@
breaking = """Move param ``ReplyParameters.checklist_task_id`` to last position.
.. hint::
This change addresses a breaking change accidentally introduced in version 22.4 where the introduction of the new parameter was not done in a backward compatible way.
Existing code using keyword arguments is unaffected. Only code using positional arguments (and based on version 22.4) may need updates.
"""
[[pull_requests]]
uid = "4972"
author_uids = ["aelkheir"]
closes_threads = []
@@ -0,0 +1,5 @@
bugfixes = "Fix Handling of Infinite Bootstrap Retries in ``Application.run_*`` and ``Updater.start_*``"
[[pull_requests]]
uid = "4973"
author_uids = ["Bibo-Joshi"]
closes_threads = ["4966"]
@@ -0,0 +1,4 @@
documentation = "Documentation Improvemennts"
[[pull_requests]]
uid = "4974"
author_uids = ["Bibo-Joshi"]
@@ -0,0 +1,5 @@
internal = "Update dependency astral-sh/uv to v0.8.22"
[[pull_requests]]
uid = "4975"
author_uids = ["renovate[bot]"]
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Update github/codeql-action action to v3.30.5"
[[pull_requests]]
uid = "4976"
author_uids = ["renovate[bot]"]
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Update Ruff to v0.13.2"
[[pull_requests]]
uid = "4977"
author_uids = ["renovate[bot]"]
closes_threads = []
@@ -0,0 +1,5 @@
internal = "Update dependency furo to v2025.9.25"
[[pull_requests]]
uid = "4978"
author_uids = ["renovate[bot]"]
closes_threads = []
@@ -0,0 +1,5 @@
other = "Bump Version to v22.5"
[[pull_requests]]
uid = "4979"
author_uids = ["Bibo-Joshi"]
closes_threads = []
+1
View File
@@ -19,6 +19,7 @@
to link to the correct files & lines on github. Can be simplified once
https://github.com/sphinx-doc/sphinx/issues/1556 is closed
"""
import subprocess
from pathlib import Path
+4
View File
@@ -121,6 +121,10 @@
- Used for approving a chat join request
* - :meth:`~telegram.Bot.decline_chat_join_request`
- Used for declining a chat join request
* - :meth:`~telegram.Bot.approve_suggested_post`
- Used for approving a suggested post
* - :meth:`~telegram.Bot.decline_suggested_post`
- Used for declining a suggested post
* - :meth:`~telegram.Bot.ban_chat_member`
- Used for banning a member from the chat
* - :meth:`~telegram.Bot.unban_chat_member`
+9
View File
@@ -71,6 +71,7 @@ Available Types
telegram.contact
telegram.dice
telegram.directmessagepricechanged
telegram.directmessagestopic
telegram.document
telegram.externalreplyinfo
telegram.file
@@ -168,6 +169,14 @@ Available Types
telegram.storyareatypesuggestedreaction
telegram.storyareatypeuniquegift
telegram.storyareatypeweather
telegram.suggestedpostapprovalfailed
telegram.suggestedpostapproved
telegram.suggestedpostdeclined
telegram.suggestedpostinfo
telegram.suggestedpostpaid
telegram.suggestedpostparameters
telegram.suggestedpostprice
telegram.suggestedpostrefunded
telegram.switchinlinequerychosenchat
telegram.telegramobject
telegram.textquote
@@ -0,0 +1,6 @@
DirectMessagesTopic
===================
.. autoclass:: telegram.DirectMessagesTopic
:members:
:show-inheritance:
@@ -0,0 +1,6 @@
SuggestedPostApprovalFailed
===========================
.. autoclass:: telegram.SuggestedPostApprovalFailed
:members:
:show-inheritance:
@@ -0,0 +1,6 @@
SuggestedPostApproved
=====================
.. autoclass:: telegram.SuggestedPostApproved
:members:
:show-inheritance:
@@ -0,0 +1,6 @@
SuggestedPostDeclined
=====================
.. autoclass:: telegram.SuggestedPostDeclined
:members:
:show-inheritance:
@@ -0,0 +1,6 @@
SuggestedPostInfo
=================
.. autoclass:: telegram.SuggestedPostInfo
:members:
:show-inheritance:
@@ -0,0 +1,6 @@
SuggestedPostPaid
=================
.. autoclass:: telegram.SuggestedPostPaid
:members:
:show-inheritance:
@@ -0,0 +1,6 @@
SuggestedPostParameters
=======================
.. autoclass:: telegram.SuggestedPostParameters
:members:
:show-inheritance:
@@ -0,0 +1,6 @@
SuggestedPostPrice
==================
.. autoclass:: telegram.SuggestedPostPrice
:members:
:show-inheritance:
@@ -0,0 +1,6 @@
SuggestedPostRefunded
=====================
.. autoclass:: telegram.SuggestedPostRefunded
:members:
:show-inheritance:
+4
View File
@@ -96,6 +96,10 @@
.. |allow_paid_broadcast| replace:: Pass True to allow up to :tg-const:`telegram.constants.FloodLimit.PAID_MESSAGES_PER_SECOND` messages per second, ignoring `broadcasting limits <https://core.telegram.org/bots/faq#how-can-i-message-all-of-my-bot-39s-subscribers-at-once>`__ for a fee of 0.1 Telegram Stars per message. The relevant Stars will be withdrawn from the bot's balance.
.. |direct_messages_topic_id| replace:: Identifier of the direct messages topic to which the message will be sent; required if the message is sent to a direct messages chat.
.. |suggested_post_parameters| replace:: An object containing the parameters of the suggested post to send; for direct messages chats only. If the message is sent as a reply to another suggested post, then that suggested post is automatically declined.
.. |tz-naive-dtms| replace:: For timezone naive :obj:`datetime.datetime` objects, the default timezone of the bot will be used, which is UTC unless :attr:`telegram.ext.Defaults.tzinfo` is used.
.. |org-verify| replace:: `on behalf of the organization <https://telegram.org/verify#third-party-verification>`__
+1
View File
@@ -11,6 +11,7 @@ Note:
To use arbitrary callback data, you must install PTB via
`pip install "python-telegram-bot[callback-data]"`
"""
import logging
from typing import cast
+1
View File
@@ -13,6 +13,7 @@ Set bot Token, URL, admin CHAT_ID and PORT after the imports.
You may also need to change the `listen` value in the uvicorn configuration to match your setup.
Press Ctrl-C on the command line or send a signal to the process to stop the bot.
"""
import asyncio
import html
import json
+1
View File
@@ -13,6 +13,7 @@ Set bot Token, URL, admin CHAT_ID and PORT after the imports.
You may also need to change the `listen` value in the uvicorn configuration to match your setup.
Press Ctrl-C on the command line or send a signal to the process to stop the bot.
"""
import asyncio
import html
import logging
+1
View File
@@ -13,6 +13,7 @@ Set bot Token, URL, admin CHAT_ID and PORT after the imports.
You may also need to change the `listen` value in the uvicorn configuration to match your setup.
Press Ctrl-C on the command line or send a signal to the process to stop the bot.
"""
import asyncio
import html
import logging
@@ -13,6 +13,7 @@ Set bot Token, URL, admin CHAT_ID and PORT after the imports.
You may also need to change the `listen` value in the uvicorn configuration to match your setup.
Press Ctrl-C on the command line or send a signal to the process to stop the bot.
"""
import asyncio
import html
import logging

Some files were not shown because too many files have changed in this diff Show More