Commit graph

295 commits

Author SHA1 Message Date
JRoot Junior
78748d36fd
Update deep linking documentation and bump version to 3.19.0
Some checks failed
Tests / tests (macos-latest, 3.10) (push) Has been cancelled
Tests / tests (macos-latest, 3.11) (push) Has been cancelled
Tests / tests (macos-latest, 3.12) (push) Has been cancelled
Tests / tests (macos-latest, 3.13) (push) Has been cancelled
Tests / tests (macos-latest, 3.9) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.10) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.11) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.12) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.13) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.9) (push) Has been cancelled
Tests / tests (windows-latest, 3.10) (push) Has been cancelled
Tests / tests (windows-latest, 3.11) (push) Has been cancelled
Tests / tests (windows-latest, 3.12) (push) Has been cancelled
Tests / tests (windows-latest, 3.13) (push) Has been cancelled
Tests / tests (windows-latest, 3.9) (push) Has been cancelled
Tests / pypy-tests (macos-latest, pypy3.10) (push) Has been cancelled
Tests / pypy-tests (macos-latest, pypy3.9) (push) Has been cancelled
Tests / pypy-tests (ubuntu-latest, pypy3.10) (push) Has been cancelled
Tests / pypy-tests (ubuntu-latest, pypy3.9) (push) Has been cancelled
2025-03-19 21:04:48 +02:00
m-xim
658f1fc082
Fix handling of default empty string ("") in CallbackData filter (#1493)
Some checks failed
Tests / tests (macos-latest, 3.10) (push) Has been cancelled
Tests / tests (macos-latest, 3.11) (push) Has been cancelled
Tests / tests (macos-latest, 3.12) (push) Has been cancelled
Tests / tests (macos-latest, 3.13) (push) Has been cancelled
Tests / tests (macos-latest, 3.9) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.10) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.11) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.12) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.13) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.9) (push) Has been cancelled
Tests / tests (windows-latest, 3.10) (push) Has been cancelled
Tests / tests (windows-latest, 3.11) (push) Has been cancelled
Tests / tests (windows-latest, 3.12) (push) Has been cancelled
Tests / tests (windows-latest, 3.13) (push) Has been cancelled
Tests / tests (windows-latest, 3.9) (push) Has been cancelled
Tests / pypy-tests (macos-latest, pypy3.10) (push) Has been cancelled
Tests / pypy-tests (macos-latest, pypy3.9) (push) Has been cancelled
Tests / pypy-tests (ubuntu-latest, pypy3.10) (push) Has been cancelled
Tests / pypy-tests (ubuntu-latest, pypy3.9) (push) Has been cancelled
* Update callback_data.py

Allows using a default value in the class which is equal to an empty string ("").

Example:
class MyCallbackData(CallbackData, prefix="MyCallbackData"):
    input1: str
    input2: str = ""

* Create 1493.bugfix.rst

* Update callback_data.py

Fixed an issue that prevented unpacking None values.

* Added tests for CallbackData

* Update tests/test_filters/test_callback_data.py

Co-authored-by: Oleg A. <t0rr@mail.ru>

* Update test_callback_data.py

* Update callback_data.py

* Update 1493.bugfix.rst

---------

Co-authored-by: Oleg A. <t0rr@mail.ru>
2025-03-11 00:14:13 +02:00
naz
925616ff79
Added support of "startapp" deep links with "appname" param (#1651)
Some checks are pending
Tests / tests (macos-latest, 3.10) (push) Waiting to run
Tests / tests (macos-latest, 3.11) (push) Waiting to run
Tests / tests (macos-latest, 3.12) (push) Waiting to run
Tests / tests (macos-latest, 3.13) (push) Waiting to run
Tests / tests (macos-latest, 3.9) (push) Waiting to run
Tests / tests (ubuntu-latest, 3.10) (push) Waiting to run
Tests / tests (ubuntu-latest, 3.11) (push) Waiting to run
Tests / tests (ubuntu-latest, 3.12) (push) Waiting to run
Tests / tests (ubuntu-latest, 3.13) (push) Waiting to run
Tests / tests (ubuntu-latest, 3.9) (push) Waiting to run
Tests / tests (windows-latest, 3.10) (push) Waiting to run
Tests / tests (windows-latest, 3.11) (push) Waiting to run
Tests / tests (windows-latest, 3.12) (push) Waiting to run
Tests / tests (windows-latest, 3.13) (push) Waiting to run
Tests / tests (windows-latest, 3.9) (push) Waiting to run
Tests / pypy-tests (macos-latest, pypy3.10) (push) Waiting to run
Tests / pypy-tests (macos-latest, pypy3.9) (push) Waiting to run
Tests / pypy-tests (ubuntu-latest, pypy3.10) (push) Waiting to run
Tests / pypy-tests (ubuntu-latest, pypy3.9) (push) Waiting to run
* Added "startapp" deep link support

* Remove link_type param, added create_startapp_link method

* Write tests for create_startapp_link method

* Refactor with black & isort

* Added CHANGELOG

* Added support of direct mini app links

* Added CHANGELOG
2025-03-10 02:29:28 +02:00
Alex Root Junior
cedbe2c500
Update Ukrainian translation files to match latest API changes (#1650)
Some checks failed
Tests / tests (macos-latest, 3.10) (push) Has been cancelled
Tests / tests (macos-latest, 3.11) (push) Has been cancelled
Tests / tests (macos-latest, 3.12) (push) Has been cancelled
Tests / tests (macos-latest, 3.13) (push) Has been cancelled
Tests / tests (macos-latest, 3.9) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.10) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.11) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.12) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.13) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.9) (push) Has been cancelled
Tests / tests (windows-latest, 3.10) (push) Has been cancelled
Tests / tests (windows-latest, 3.11) (push) Has been cancelled
Tests / tests (windows-latest, 3.12) (push) Has been cancelled
Tests / tests (windows-latest, 3.13) (push) Has been cancelled
Tests / tests (windows-latest, 3.9) (push) Has been cancelled
Tests / pypy-tests (macos-latest, pypy3.10) (push) Has been cancelled
Tests / pypy-tests (macos-latest, pypy3.9) (push) Has been cancelled
Tests / pypy-tests (ubuntu-latest, pypy3.10) (push) Has been cancelled
Tests / pypy-tests (ubuntu-latest, pypy3.9) (push) Has been cancelled
* Update translation files with new creation dates.

This update includes newly added and corrected translation entries for various .po files in the Ukrainian locale. It ensures consistency with updated source files and aligns with the latest Telegram bot API changes.

* Update Ukrainian documentation translation
2025-03-08 03:02:33 +02:00
naz
de240b62ac
Added support of "startapp" deep links (#1648)
* Added "startapp" deep link support

* Remove link_type param, added create_startapp_link method

* Write tests for create_startapp_link method

* Refactor with black & isort

* Added CHANGELOG
2025-03-08 02:25:50 +02:00
Alex Root Junior
cd4e811856
Refactor: Introduce Union types for streamlined type handling (#1649)
* Refactor: Introduce Union types for streamlined type handling

Implemented Union types across various modules to consolidate and simplify type annotations. This change replaces repetitive union declarations with reusable Union aliases, improving code readability and maintainability. Updates applied to affected classes, methods, and imports accordingly.

* Refactor unions into type aliases for better reusability

Replaced inline `Union` types with predefined aliases like `MediaUnion`, `ReplyMarkupUnion`, and `ChatIdUnion`. Simplifies type annotations, improves code readability, and reduces duplication. Added `media_union.py` for grouping related media types.

* Refactor type unions with ResultChatMemberUnion and ResultMenuButtonUnion

Replaced verbose type definitions of chat member and menu button unions with `ResultChatMemberUnion` and `ResultMenuButtonUnion` for improved readability and maintainability. Updated relevant methods, modules, and documentation to use the new type aliases consistently.

* Added changelog
2025-03-08 02:19:57 +02:00
Alex Root Junior
843c1dec7c
Typed data (#1647)
Some checks failed
Tests / tests (macos-latest, 3.10) (push) Has been cancelled
Tests / tests (macos-latest, 3.11) (push) Has been cancelled
Tests / tests (macos-latest, 3.12) (push) Has been cancelled
Tests / tests (macos-latest, 3.13) (push) Has been cancelled
Tests / tests (macos-latest, 3.9) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.10) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.11) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.12) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.13) (push) Has been cancelled
Tests / tests (ubuntu-latest, 3.9) (push) Has been cancelled
Tests / tests (windows-latest, 3.10) (push) Has been cancelled
Tests / tests (windows-latest, 3.11) (push) Has been cancelled
Tests / tests (windows-latest, 3.12) (push) Has been cancelled
Tests / tests (windows-latest, 3.13) (push) Has been cancelled
Tests / tests (windows-latest, 3.9) (push) Has been cancelled
Tests / pypy-tests (macos-latest, pypy3.10) (push) Has been cancelled
Tests / pypy-tests (macos-latest, pypy3.9) (push) Has been cancelled
Tests / pypy-tests (ubuntu-latest, pypy3.10) (push) Has been cancelled
Tests / pypy-tests (ubuntu-latest, pypy3.9) (push) Has been cancelled
* Add TypedDict support for middleware context data

Introduced `MiddlewareData` and associated TypedDicts to type-hint middleware context data. Updated documentation to include usage examples and guidelines for extending the default middleware data. Also adjusted coverage configuration to exclude the new data module.

* Added more docstrings

* Typo fixes
2025-03-02 01:24:30 +02:00
Alex Root Junior
8b4976b3de
Fix handler registration order in Scene (#1642)
Some checks are pending
Tests / tests (macos-latest, 3.10) (push) Waiting to run
Tests / tests (macos-latest, 3.11) (push) Waiting to run
Tests / tests (macos-latest, 3.12) (push) Waiting to run
Tests / tests (macos-latest, 3.13) (push) Waiting to run
Tests / tests (macos-latest, 3.9) (push) Waiting to run
Tests / tests (ubuntu-latest, 3.10) (push) Waiting to run
Tests / tests (ubuntu-latest, 3.11) (push) Waiting to run
Tests / tests (ubuntu-latest, 3.12) (push) Waiting to run
Tests / tests (ubuntu-latest, 3.13) (push) Waiting to run
Tests / tests (ubuntu-latest, 3.9) (push) Waiting to run
Tests / tests (windows-latest, 3.10) (push) Waiting to run
Tests / tests (windows-latest, 3.11) (push) Waiting to run
Tests / tests (windows-latest, 3.12) (push) Waiting to run
Tests / tests (windows-latest, 3.13) (push) Waiting to run
Tests / tests (windows-latest, 3.9) (push) Waiting to run
Tests / pypy-tests (macos-latest, pypy3.10) (push) Waiting to run
Tests / pypy-tests (macos-latest, pypy3.9) (push) Waiting to run
Tests / pypy-tests (ubuntu-latest, pypy3.10) (push) Waiting to run
Tests / pypy-tests (ubuntu-latest, pypy3.9) (push) Waiting to run
* Fix handler registration order in `Scene`

Previously, `Scene` handlers were registered based on the sorted output of `inspect.getmembers`, causing incorrect execution order. Now, handlers are registered in the order they are defined in the class, ensuring reliable behavior and proper sequence when handling filters with varying specificity. Added test cases to validate the correct handler ordering.

* Add dynamic dataclass and class attribute resolvers

Introduced `dataclass_kwargs` to ensure compatibility with different Python versions and modular attribute handling. Added utilities for resolving class attributes dynamically, enhancing flexibility with MRO-based resolvers. Updated tests to verify new features and ensure proper functionality across various scenarios.

* Update changelog
2025-03-01 22:08:14 +02:00
JRoot Junior
82406970c1
Update CHANGES.rst 2025-02-16 22:44:39 +02:00
JRoot Junior
56db08b195
Change changelog 2025-02-16 22:43:41 +02:00
Oleg A.
e17c84144d
Prevent endless loop with buttons (#1626)
* fix: prevent endless loop with buttons

* test: added test for add w/o max width

* docs: added changelog record

* chore: explicit set max_width 0
2025-02-16 22:39:51 +02:00
YóUnǎi
7b07338851
Docs: Fix annotations (#1634)
* Docs: Fix annotations

* Add file CHANGES/1634.doc.rst
2025-02-16 22:37:40 +02:00
Alex Root Junior
d8b9ce1be9
Added full support for the Bot API 8.3 (#1638)
* Added full support for the Bot API 8.3

* Added changelog

* Ignore typing for aiohttp_socks
2025-02-16 22:37:18 +02:00
OneHandedPirate
25833b830e
Update scene.rst (#1640)
* Update scene.rst

* Create 1640.bugfix.rst
2025-02-16 22:14:06 +02:00
monosans
6e81294685
fix: change the Downloadable protocol to be non-writable to shut up type checking that checks code that uses the bot.download(...) method (#1628)
* fix: don't require Downloadable.file_id to be writable

* docs: add changelog

* Update CHANGES/1628.bugfix.rst

Co-authored-by: Alex Root Junior <jroot.junior@gmail.com>

---------

Co-authored-by: Alex Root Junior <jroot.junior@gmail.com>
2025-01-19 03:35:44 +02:00
AmirSoroush
bbdc43b737
Fix BAD_PATTERN regex in deeplinking process. (#1630)
* add test payload in `test_deep_linking` to demonstrate the bug

* fix the `BAD_PATTERN` regex

* add changes file
2025-01-17 01:35:23 +02:00
Anton Trotsenko
a516b7f03f
Bump redis max version to <5.3.0 (#1631)
* Bump redis max version to <5.3.0

* Describe changes
2025-01-17 01:29:50 +02:00
Oleg A.
44bd8fe103
Remove path to string convertion (#1612)
* Remove path to string conversion

* docs: changelog added
2025-01-04 10:37:26 +02:00
JRoot Junior
b376949647
Bump version 2025-01-02 02:44:02 +02:00
Alex Root Junior
afccd8a38f
Added full support of Bot API 8.2 (#1623)
* Added full support of Bot API 8.2

* Added changelog

* Try to add port

* Add port to the `test_reset_connector`
2025-01-02 02:38:18 +02:00
JRoot Junior
1d5405ab43
Bump version 2024-12-21 23:50:49 +02:00
qvvonk
f2e305e92a
Added __call__ method to TelegramMethod class. (#1616)
* Added __call__ method to TelegramMethod class.

* Added rst.

* Moved rst.

* Deleted __call__, changed exception text.

* Changed pull request desc text
2024-12-15 16:00:21 +02:00
Dmitriy
494e07a75a
Increased aiohttp version (#1615)
* Increased aiohttp version

* Added changes file

* Update CHANGES/1615.misc.rst

---------

Co-authored-by: Долгалев Дмитрий Игоревич <didolgalev@domclick.ru>
Co-authored-by: Alex Root Junior <jroot.junior@gmail.com>
2024-12-14 19:32:21 +02:00
Alex Root Junior
782796c217
Added full support of Bot API 8.1 (#1617)
* Added full support of Bot API 8.1

* Remove  artifacts from types and methods (model_* methods)
2024-12-14 19:30:12 +02:00
Suren Khorenyan
6520b9fba2
[misc] fix tg-emoji closing tag: use constant (#1608)
* fix tg-emoji closing tag: use constant

* add changelog for tg-emoji closing tag fix

* Update CHANGES/1608.misc.rst

---------

Co-authored-by: Alex Root Junior <jroot.junior@gmail.com>
2024-11-25 22:08:05 +02:00
kewldan
141a550ab2
misc(deps): Bump pydantic version to <2.11 (#1607)
* Bump pydantic max version to <2.11

* CHANGES file

* Update CHANGES/1607.misc.rst

---------

Co-authored-by: Alex Root Junior <jroot.junior@gmail.com>
2024-11-23 17:54:49 +02:00
JRoot Junior
754535a2aa
Bump version 2024-11-17 23:20:34 +02:00
Alex Root Junior
dfc88fc907
Added full support for Bot API 8.0 (#1606)
* Added full support of Bot API 8.0

* Added tests

* Reformat code

* Added changelog

* Bump API version
2024-11-17 23:18:42 +02:00
JRoot Junior
f2916ca03f
Bump version 2024-11-02 17:02:47 +02:00
Alex Root Junior
a2af73ad78
Added business_connection_id to the Message API methods shortcuts (#1586)
* Add business_connection_id to message API methods

Integrated the business_connection_id attribute into various message manipulation methods, ensuring consistent data handling. This update eliminates the need to pass the business_connection_id as a parameter, instead directly accessing it from the instance attributes.

* Added changelog
2024-11-02 16:55:15 +02:00
Arthur Khachaturov
592267dd99
Add function get_value to BaseStorage (#1594)
* Add function `get_value` to all built-in storage implementations, `FSMContext` and `SceneWizard` (#1431)

* Fix type hints

* Split up return statements in `get_value` functions

* Implement `get_value` method in `BaseStorage` and remove redundant implementations
2024-11-02 16:48:01 +02:00
Alex Root Junior
fd014d2026
Fixed UUID (and other types) serialization in the CallbackData factory. (#1602)
From now UUID will have 32 bytes length instead of 36 bytes.
2024-11-02 16:37:31 +02:00
Alex Root Junior
405bbcc36f
Added full support of Bot API 7.11 (#1601)
* Added full support of Bot API 7.11

* Small fixes

* Added changelog
2024-11-02 16:13:45 +02:00
chiri
4531c3628c
[docs] fix typo (#1599) 2024-10-27 20:03:21 +02:00
Alex Root Junior
51beb48257
Enabled tests on Python 3.13, disabled on Python 3.8 (#1589)
* Try to enable tests on Python 3.13

* Remove support for Python 3.8 and PyPy 3.8

Dropped Python 3.8 and PyPy 3.8 from the CI workflow and updated the minimum required Python version to 3.9 in pyproject.toml. Also updated dependencies and tools to align with the new minimum Python version.

* Added changelog

* Reformat code

* Bump mypy python version
2024-10-19 14:55:38 +03:00
Alex Root Junior
1dbdcf0516
Improved Scene handler and action inheritance mechanism (#1585)
* #1583 Improved Scene handler and action inheritance mechanism

Enhanced the inheritance of handlers and actions in scenes. Refactored to eliminate the copying of previously connected handlers and actions from parent scenes. Now, handlers are dynamically rebuilt based on the current class, properly utilizing class inheritance and enabling handler overrides.

* Added more tests

* Added more tests for non-function handlers
2024-10-06 16:37:18 +03:00
Carl Smedstad
080878be86
Fix pytest-asyncio deprecation warning in test (#1584)
Introduced in pytest-asyncio in:
https://github.com/pytest-dev/pytest-asyncio/pull/648
2024-09-28 01:33:14 +03:00
JRoot Junior
718910f5b5
Release version 3.13.1
Add new version details to CHANGES.rst and update __meta__.py. Removed individual CHANGES/* feature and bugfix files, merging their content into the main CHANGES.rst.
2024-09-18 22:55:32 +03:00
Alex Root Junior
f9f847f603
#1579 Fixed Default object annotation resolution in pydantic models. (#1580)
* #1579 Fixed `Default` object annotation resolution in `pydantic` models. Reformat code.

* Bump mongo and Redis dependencies

* Update pydantic version constraints based on Python version

Adjusted the version constraints for the pydantic library in `pyproject.toml` to ensure compatibility with different Python versions. This helps maintain stability and compatibility across various development environments.

* Adjust version

* Fixed typo
2024-09-18 22:45:19 +03:00
monosans
a76fb42ba0
Bump aiofiles version upper bound to <24.2 (#1577)
* Bump aiofiles version upper bound to <24.2

* Add changelog
2024-09-10 23:40:07 +03:00
Andrew
7297ffa16e
Increase pydantic max version (<2.9 -> <2.10) (#1576)
* Increase `pydantic` max version (2.10)

* Add changes file
2024-09-09 20:05:01 +03:00
JRoot Junior
d9419ba690
Bump version 2024-09-08 14:06:45 +03:00
Kostiantyn Kriuchkov
386fc44a98
Feature/aliases inaccessible message (#1575)
* feature: add aliases for InaccessibleMessage type

* add changelog

* fix changelog

* remove methods that may not be accessible for the InaccessibleMessage type, add tests

* apply black isort

* update docs with InaccessibleMessage aliases
2024-09-08 14:00:07 +03:00
Alex Root Junior
e8fc890809
Bot API 7.10 (#1570)
* Bump to the latest schema

* Added full support ob Bot API 7.10

* Add support for purchased paid media events

Enhanced the router to include `purchased_paid_media` handling. Added corresponding test cases to verify the new functionality and updated middleware to return the appropriate `EventContext`.

* Added changelog
2024-09-08 04:01:18 +03:00
Alex Root Junior
627ee09928
Fixed link preview options to use global defaults in some types and methods (#1563)
* #1543 Fixed link preview options to use global defaults

Refactor various classes to use global defaults for `link_preview_options`. This change ensures consistency and enhances flexibility in handling link preview options across different components.

* Added changelog
2024-08-17 16:41:52 +03:00
JRoot Junior
6aba60155c
Bump version 2024-08-16 00:46:41 +03:00
Alex Root Junior
c3a08664d3
Added full support of Bot API 7.9 (#1560)
* Added full support of Bot API 7.9

* Added changelog

* Try to fix towncrier

* Fixed towncrier check
2024-08-16 00:44:40 +03:00
Desiders
1c323ecc97
Add getting user from chat_boost (#1474)
* Add getting user from `chat_boost`

* Update import

* Add changelog

* Add test for `resolve_event_context`

* Lint changes

* Parametrize test
2024-08-14 02:12:39 +03:00
Robotvasya
e2e1bc5573
Added message_thread_id to url of chats with topics for message.get_u… (#1469)
* Added message_thread_id to url of chats with topics for message.get_url() (#1451)

* Added tests for message.get_url()

* Added tests for message.get_url()

* Changed tests for message.get_url()
2024-08-14 02:11:58 +03:00
Oleg A.
9b0b6a68ed
Precalculate StateGroup values (#1507)
* Precalculate StateGroup values

* Changelog added

* Remove redundant overrides

* Refactor children preparing

* Refactor mcs fn visibility

* Refactor mcs fn visibility (fix)
2024-08-14 02:10:31 +03:00