Previously the deep_link parameter only had two effective states:
False (default) accepted any /start command regardless of arguments,
and True required arguments to be present.
Change the default to None (accept both, backward compatible) so that
False can mean "reject if deep-link arguments are present", which is
the intuitive expectation when explicitly passing deep_link=False.
Closes#1713
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Update API methods and types for Telegram Bot API 9.5
* Draft: follow-up for Bot API 9.5 (#1780) (#1781)
* Add set_chat_member_tag shortcut coverage
* Add set_member_tag shortcut tests and align decoration expectations
* Fix follow-up test coverage for sender_tag and can_edit_tag
* Add changelog fragment for PR 1781
* Align changelog with base PR #1780
* Expand 1780 changelog to cover base and follow-up scope
* Treat sender_tag as metadata, not message content type
---------
Co-authored-by: Latand <latand@users.noreply.github.com>
Co-authored-by: Codex Agent <codex@openclaw.local>
* Add tests for date_time formatting with Unix time and datetime objects
* Update changelog with Telegram Bot API 9.5 changes
---------
Co-authored-by: Kostiantyn Kriuchkov <36363097+Latand@users.noreply.github.com>
Co-authored-by: Latand <latand@users.noreply.github.com>
Co-authored-by: Codex Agent <codex@openclaw.local>
* Migrate from Black to Ruff and reformat code with enabling additional linter checks
* Add changelog for migration to Ruff as formatter and linter
* Add type ignores for specific attributes and replace tuple with set for chat type check
* Remove file from another changes
* 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>
* fix: CallbackData set optional as None
* docs: add fix changelog
* Add support for nullable fields in callback data
This update extends the callback data handling by adding support for nullable fields. The code now uses the Python typing structures `Optional` and `Union` to parse such fields correctly. A helper function `_check_field_is_nullable` has been added to assist in efficiently checking if a given field is nullable.
* Add support for nullable fields in callback data
This update extends the callback data handling by adding support for nullable fields. The code now uses the Python typing structures `Optional` and `Union` to parse such fields correctly. A helper function `_check_field_is_nullable` has been added to assist in efficiently checking if a given field is nullable.
---------
Co-authored-by: JRoot Junior <jroot.junior@gmail.com>
* Added full support of Bot API 6.5
* Shut up, linters (Fixed errors)
* Oops. Added lost files.
* Fixed tests
* Added changes description
* Update description from docs
* Fixed anchors
* Update Butcher
* Added danger zone to changelog
* Type
* ignore_case fix
* Create 1106.bugfix.rst
* better fix, added tests
* Update 1106.bugfix.rst
* fix, attempt to satisfy the linter
* not on purpose, single quotes in tests
* Rewrite filters
* Update README.rst
* Fixed tests
* Small optimization of the Text filter (TY to @bomzheg)
* Remove dataclass slots argument in due to the only Python 3.10 has an slots argument
* Fixed mypy
* Update tests
* Disable Python 3.11
* Fixed#1013: Empty mention should be None instead of empty string.
* Added #990 to the changelog
* Added #942 to the changelog
* Fixed coverage
* Update poetry and dependencies
* Fixed mypy
* Remove deprecated code
* Added more tests, update pyproject.toml
* Partial update docs
* Added initial Docs translation files
* Added more changes
* Added log message when connection is established in polling process
* Fixed action
* Disable lint for PyPy
* Added changelog for docs translation