Bump version to v21.4 (#4371)

This commit is contained in:
Bibo-Joshi 2024-07-12 17:40:42 +02:00 committed by GitHub
parent efe1392e73
commit 2ac4e009d0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 122 additions and 70 deletions

View file

@ -4,6 +4,58 @@
Changelog Changelog
========= =========
Version 21.4
============
*Released 2024-07-12*
This is the technical changelog for version 21.4. More elaborate release notes can be found in the news channel `@pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>`_.
Major Changes
-------------
- Full Support for Bot API 7.5 (:pr:`4328`, :pr:`4316`, :pr:`4315`, :pr:`4312` closes :issue:`4310`, :pr:`4311`)
- Full Support for Bot API 7.6 (:pr:`4333` closes :issue:`4331`, :pr:`4344`, :pr:`4341`, :pr:`4334`, :pr:`4335`, :pr:`4351`, :pr:`4342`, :pr:`4348`)
- Full Support for Bot API 7.7 (:pr:`4356` closes :issue:`4355`)
- Drop ``python-telegram-bot-raw`` And Switch to ``pyproject.toml`` Based Packaging (:pr:`4288` closes :issue:`4129` and :issue:`4296`)
- Deprecate Inclusion of ``successful_payment`` in ``Message.effective_attachment`` (:pr:`4365` closes :issue:`4350`)
New Features
------------
- Add Support for Python 3.13 Beta (:pr:`4253`)
- Add ``filters.PAID_MEDIA`` (:pr:`4357`)
- Log Received Data on Deserialization Errors (:pr:`4304`)
- Add ``MessageEntity.adjust_message_entities_to_utf_16`` Utility Function (:pr:`4323` by `Antares0982 <https://github.com/Antares0982>`_ closes :issue:`4319`)
- Make Argument ``bot`` of ``TelegramObject.de_json`` Optional (:pr:`4320`)
Documentation Improvements
--------------------------
- Documentation Improvements (:pr:`4303` closes :issue:`4301`)
- Restructure Readme (:pr:`4362`)
- Fix Link-Check Workflow (:pr:`4332`)
Internal Changes
----------------
- Automate PyPI Releases (:pr:`4364` closes :issue:`4318`)
- Add ``mise-en-place`` to ``.gitignore`` (:pr:`4300`)
- Use a Composite Action for Testing Type Completeness (:pr:`4367`)
- Stabilize Some Concurrency Usages in Test Suite (:pr:`4360`)
- Add a Test Case for ``MenuButton`` (:pr:`4363`)
- Extend ``SuccessfulPayment`` Test (:pr:`4349`)
- Small Fixes for ``test_stars.py`` (:pr:`4347`)
- Use Python 3.13 Beta 3 in Test Suite (:pr:`4336`)
Dependency Updates
------------------
- Bump ``ruff`` and Add New Rules (:pr:`4329`)
- Bump ``pre-commit`` Hooks to Latest Versions (:pr:`4337`)
- Add Lower Bound for ``flaky`` Dependency (:pr:`4322` by `Palaptin <https://github.com/Palaptin>`_)
- Bump ``pytest`` from 8.2.1 to 8.2.2 (:pr:`4294`)
Version 21.3 Version 21.3
============ ============
*Released 2024-06-07* *Released 2024-06-07*

View file

@ -119,7 +119,7 @@ Verifying Releases
To enable you to verify that a release file that you downloaded was indeed provided by the ``python-telegram-bot`` team, we have taken the following measures. To enable you to verify that a release file that you downloaded was indeed provided by the ``python-telegram-bot`` team, we have taken the following measures.
Starting with NEXT.VERSION, all releases are signed via `sigstore <https://sigstore.dev>`_. Starting with v21.4, all releases are signed via `sigstore <https://sigstore.dev>`_.
The corresponding signature files are uploaded to the `GitHub releases page`_. The corresponding signature files are uploaded to the `GitHub releases page`_.
To verify the signature, please install the `sigstore Python client <https://pypi.org/project/sigstore/>`_ and follow the instructions for `verifying signatures from GitHub Actions <https://github.com/sigstore/sigstore-python#signatures-from-github-actions>`_. As input for the ``--repository`` parameter, please use the value ``python-telegram-bot/python-telegram-bot``. To verify the signature, please install the `sigstore Python client <https://pypi.org/project/sigstore/>`_ and follow the instructions for `verifying signatures from GitHub Actions <https://github.com/sigstore/sigstore-python#signatures-from-github-actions>`_. As input for the ``--repository`` parameter, please use the value ``python-telegram-bot/python-telegram-bot``.

View file

@ -2856,7 +2856,7 @@ class Bot(TelegramObject, AsyncContextManager["Bot"]):
.. versionadded:: 21.2. .. versionadded:: 21.2.
business_connection_id (:obj:`str`, optional): |business_id_str_edit| business_connection_id (:obj:`str`, optional): |business_id_str_edit|
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Keyword Args: Keyword Args:
location (:class:`telegram.Location`, optional): The location to send. location (:class:`telegram.Location`, optional): The location to send.
@ -2932,7 +2932,7 @@ class Bot(TelegramObject, AsyncContextManager["Bot"]):
inline keyboard. inline keyboard.
business_connection_id (:obj:`str`, optional): |business_id_str_edit| business_connection_id (:obj:`str`, optional): |business_id_str_edit|
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Returns: Returns:
:class:`telegram.Message`: On success, if edited message is not an inline message, the :class:`telegram.Message`: On success, if edited message is not an inline message, the
@ -4006,7 +4006,7 @@ class Bot(TelegramObject, AsyncContextManager["Bot"]):
inline keyboard. inline keyboard.
business_connection_id (:obj:`str`, optional): |business_id_str_edit| business_connection_id (:obj:`str`, optional): |business_id_str_edit|
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Keyword Args: Keyword Args:
disable_web_page_preview (:obj:`bool`, optional): Disables link previews for links in disable_web_page_preview (:obj:`bool`, optional): Disables link previews for links in
@ -4104,7 +4104,7 @@ class Bot(TelegramObject, AsyncContextManager["Bot"]):
.. versionadded:: 21.3 .. versionadded:: 21.3
business_connection_id (:obj:`str`, optional): |business_id_str_edit| business_connection_id (:obj:`str`, optional): |business_id_str_edit|
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Returns: Returns:
:class:`telegram.Message`: On success, if edited message is not an inline message, the :class:`telegram.Message`: On success, if edited message is not an inline message, the
@ -4177,7 +4177,7 @@ class Bot(TelegramObject, AsyncContextManager["Bot"]):
inline keyboard. inline keyboard.
business_connection_id (:obj:`str`, optional): |business_id_str_edit| business_connection_id (:obj:`str`, optional): |business_id_str_edit|
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Returns: Returns:
:class:`telegram.Message`: On success, if edited message is not an inline message, the :class:`telegram.Message`: On success, if edited message is not an inline message, the
@ -4238,7 +4238,7 @@ class Bot(TelegramObject, AsyncContextManager["Bot"]):
inline keyboard. inline keyboard.
business_connection_id (:obj:`str`, optional): |business_id_str_edit| business_connection_id (:obj:`str`, optional): |business_id_str_edit|
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Returns: Returns:
:class:`telegram.Message`: On success, if edited message is not an inline message, the :class:`telegram.Message`: On success, if edited message is not an inline message, the
@ -7185,7 +7185,7 @@ CUSTOM_EMOJI_IDENTIFIER_LIMIT` custom emoji identifiers can be specified.
message inline keyboard. message inline keyboard.
business_connection_id (:obj:`str`, optional): |business_id_str_edit| business_connection_id (:obj:`str`, optional): |business_id_str_edit|
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Returns: Returns:
:class:`telegram.Poll`: On success, the stopped Poll is returned. :class:`telegram.Poll`: On success, the stopped Poll is returned.
@ -9138,7 +9138,7 @@ CUSTOM_EMOJI_IDENTIFIER_LIMIT` custom emoji identifiers can be specified.
) -> StarTransactions: ) -> StarTransactions:
"""Returns the bot's Telegram Star transactions in chronological order. """Returns the bot's Telegram Star transactions in chronological order.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Args: Args:
offset (:obj:`int`, optional): Number of transactions to skip in the response. offset (:obj:`int`, optional): Number of transactions to skip in the response.
@ -9193,7 +9193,7 @@ CUSTOM_EMOJI_IDENTIFIER_LIMIT` custom emoji identifiers can be specified.
) -> Message: ) -> Message:
"""Use this method to send paid media to channel chats. """Use this method to send paid media to channel chats.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Args: Args:
chat_id (:obj:`int` | :obj:`str`): |chat_id_channel| chat_id (:obj:`int` | :obj:`str`): |chat_id_channel|

View file

@ -95,7 +95,7 @@ class BotCommandScope(TelegramObject):
bot (:class:`telegram.Bot`, optional): The bot associated with this object. Defaults to bot (:class:`telegram.Bot`, optional): The bot associated with this object. Defaults to
:obj:`None`, in which case shortcut methods will not be available. :obj:`None`, in which case shortcut methods will not be available.
.. versionchanged:: NEXT.VERSION .. versionchanged:: 21.4
:paramref:`bot` is now optional and defaults to :obj:`None` :paramref:`bot` is now optional and defaults to :obj:`None`
Returns: Returns:

View file

@ -3286,7 +3286,7 @@ class _ChatBase(TelegramObject):
For the documentation of the arguments, please see For the documentation of the arguments, please see
:meth:`telegram.Bot.send_paid_media`. :meth:`telegram.Bot.send_paid_media`.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Returns: Returns:
:class:`telegram.Message`: On success, instance representing the message posted. :class:`telegram.Message`: On success, instance representing the message posted.

View file

@ -198,7 +198,7 @@ class ChatFullInfo(_ChatBase):
can_send_paid_media (:obj:`bool`, optional): :obj:`True`, if paid media messages can be can_send_paid_media (:obj:`bool`, optional): :obj:`True`, if paid media messages can be
sent or forwarded to the channel chat. The field is available only for channel chats. sent or forwarded to the channel chat. The field is available only for channel chats.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Attributes: Attributes:
id (:obj:`int`): Unique identifier for this chat. id (:obj:`int`): Unique identifier for this chat.
@ -352,7 +352,7 @@ class ChatFullInfo(_ChatBase):
can_send_paid_media (:obj:`bool`): Optional. :obj:`True`, if paid media messages can be can_send_paid_media (:obj:`bool`): Optional. :obj:`True`, if paid media messages can be
sent or forwarded to the channel chat. The field is available only for channel chats. sent or forwarded to the channel chat. The field is available only for channel chats.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
.. _accent colors: https://core.telegram.org/bots/api#accent-colors .. _accent colors: https://core.telegram.org/bots/api#accent-colors
.. _topics: https://telegram.org/blog/topics-in-groups-collectible-usernames#topics-in-groups .. _topics: https://telegram.org/blog/topics-in-groups-collectible-usernames#topics-in-groups

View file

@ -124,7 +124,7 @@ class InputPaidMedia(TelegramObject):
.. seealso:: :wiki:`Working with Files and Media <Working-with-Files-and-Media>` .. seealso:: :wiki:`Working with Files and Media <Working-with-Files-and-Media>`
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Args: Args:
type (:obj:`str`): Type of media that the instance represents. type (:obj:`str`): Type of media that the instance represents.
@ -164,7 +164,7 @@ class InputPaidMediaPhoto(InputPaidMedia):
.. seealso:: :wiki:`Working with Files and Media <Working-with-Files-and-Media>` .. seealso:: :wiki:`Working with Files and Media <Working-with-Files-and-Media>`
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Args: Args:
media (:obj:`str` | :term:`file object` | :obj:`bytes` | :class:`pathlib.Path` | \ media (:obj:`str` | :term:`file object` | :obj:`bytes` | :class:`pathlib.Path` | \
@ -196,7 +196,7 @@ class InputPaidMediaVideo(InputPaidMedia):
.. seealso:: :wiki:`Working with Files and Media <Working-with-Files-and-Media>` .. seealso:: :wiki:`Working with Files and Media <Working-with-Files-and-Media>`
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Note: Note:
* When using a :class:`telegram.Video` for the :attr:`media` attribute, it will take the * When using a :class:`telegram.Video` for the :attr:`media` attribute, it will take the

View file

@ -80,7 +80,7 @@ class MenuButton(TelegramObject):
bot (:class:`telegram.Bot`, optional): The bot associated with this object. Defaults to bot (:class:`telegram.Bot`, optional): The bot associated with this object. Defaults to
:obj:`None`, in which case shortcut methods will not be available. :obj:`None`, in which case shortcut methods will not be available.
.. versionchanged:: NEXT.VERSION .. versionchanged:: 21.4
:paramref:`bot` is now optional and defaults to :obj:`None` :paramref:`bot` is now optional and defaults to :obj:`None`
Returns: Returns:

View file

@ -582,11 +582,11 @@ class Message(MaybeInaccessibleMessage):
paid_media (:obj:`telegram.PaidMediaInfo`, optional): Message contains paid media; paid_media (:obj:`telegram.PaidMediaInfo`, optional): Message contains paid media;
information about the paid media. information about the paid media.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
refunded_payment (:obj:`telegram.RefundedPayment`, optional): Message is a service message refunded_payment (:obj:`telegram.RefundedPayment`, optional): Message is a service message
about a refunded payment, information about the payment. about a refunded payment, information about the payment.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Attributes: Attributes:
message_id (:obj:`int`): Unique message identifier inside this chat. message_id (:obj:`int`): Unique message identifier inside this chat.
@ -909,11 +909,11 @@ class Message(MaybeInaccessibleMessage):
paid_media (:obj:`telegram.PaidMediaInfo`): Optional. Message contains paid media; paid_media (:obj:`telegram.PaidMediaInfo`): Optional. Message contains paid media;
information about the paid media. information about the paid media.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
refunded_payment (:obj:`telegram.RefundedPayment`): Optional. Message is a service message refunded_payment (:obj:`telegram.RefundedPayment`): Optional. Message is a service message
about a refunded payment, information about the payment. about a refunded payment, information about the payment.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
.. |custom_emoji_no_md1_support| replace:: Since custom emoji entities are not supported by .. |custom_emoji_no_md1_support| replace:: Since custom emoji entities are not supported by
:attr:`~telegram.constants.ParseMode.MARKDOWN`, this method now raises a :attr:`~telegram.constants.ParseMode.MARKDOWN`, this method now raises a
@ -1426,10 +1426,10 @@ class Message(MaybeInaccessibleMessage):
:attr:`dice`, :attr:`passport_data` and :attr:`poll` are now also considered to be an :attr:`dice`, :attr:`passport_data` and :attr:`poll` are now also considered to be an
attachment. attachment.
.. versionchanged:: NEXT.VERSION .. versionchanged:: 21.4
:attr:`paid_media` is now also considered to be an attachment. :attr:`paid_media` is now also considered to be an attachment.
.. deprecated:: NEXT.VERSION .. deprecated:: 21.4
:attr:`successful_payment` will be removed in future major versions. :attr:`successful_payment` will be removed in future major versions.
""" """
@ -1442,7 +1442,7 @@ class Message(MaybeInaccessibleMessage):
if attachment_type == MessageAttachmentType.SUCCESSFUL_PAYMENT: if attachment_type == MessageAttachmentType.SUCCESSFUL_PAYMENT:
warn( warn(
PTBDeprecationWarning( PTBDeprecationWarning(
"NEXT.VERSION", "21.4",
"successful_payment will no longer be considered an attachment in" "successful_payment will no longer be considered an attachment in"
" future major versions", " future major versions",
), ),
@ -3649,7 +3649,7 @@ class Message(MaybeInaccessibleMessage):
of methods) or channel posts, if the bot is an admin in that channel. However, this of methods) or channel posts, if the bot is an admin in that channel. However, this
behaviour is undocumented and might be changed by Telegram. behaviour is undocumented and might be changed by Telegram.
.. versionchanged:: NEXT.VERSION .. versionchanged:: 21.4
Now also passes :attr:`business_connection_id`. Now also passes :attr:`business_connection_id`.
Returns: Returns:
@ -3706,7 +3706,7 @@ class Message(MaybeInaccessibleMessage):
of methods) or channel posts, if the bot is an admin in that channel. However, this of methods) or channel posts, if the bot is an admin in that channel. However, this
behaviour is undocumented and might be changed by Telegram. behaviour is undocumented and might be changed by Telegram.
.. versionchanged:: NEXT.VERSION .. versionchanged:: 21.4
Now also passes :attr:`business_connection_id`. Now also passes :attr:`business_connection_id`.
Returns: Returns:
@ -3759,7 +3759,7 @@ class Message(MaybeInaccessibleMessage):
of methods) or channel posts, if the bot is an admin in that channel. However, this of methods) or channel posts, if the bot is an admin in that channel. However, this
behaviour is undocumented and might be changed by Telegram. behaviour is undocumented and might be changed by Telegram.
.. versionchanged:: NEXT.VERSION .. versionchanged:: 21.4
Now also passes :attr:`business_connection_id`. Now also passes :attr:`business_connection_id`.
Returns: Returns:
@ -3808,7 +3808,7 @@ class Message(MaybeInaccessibleMessage):
of methods) or channel posts, if the bot is an admin in that channel. However, this of methods) or channel posts, if the bot is an admin in that channel. However, this
behaviour is undocumented and might be changed by Telegram. behaviour is undocumented and might be changed by Telegram.
.. versionchanged:: NEXT.VERSION .. versionchanged:: 21.4
Now also passes :attr:`business_connection_id`. Now also passes :attr:`business_connection_id`.
Returns: Returns:
@ -3862,7 +3862,7 @@ class Message(MaybeInaccessibleMessage):
of methods) or channel posts, if the bot is an admin in that channel. However, this of methods) or channel posts, if the bot is an admin in that channel. However, this
behaviour is undocumented and might be changed by Telegram. behaviour is undocumented and might be changed by Telegram.
.. versionchanged:: NEXT.VERSION .. versionchanged:: 21.4
Now also passes :attr:`business_connection_id`. Now also passes :attr:`business_connection_id`.
Returns: Returns:
@ -3916,7 +3916,7 @@ class Message(MaybeInaccessibleMessage):
of methods) or channel posts, if the bot is an admin in that channel. However, this of methods) or channel posts, if the bot is an admin in that channel. However, this
behaviour is undocumented and might be changed by Telegram. behaviour is undocumented and might be changed by Telegram.
.. versionchanged:: NEXT.VERSION .. versionchanged:: 21.4
Now also passes :attr:`business_connection_id`. Now also passes :attr:`business_connection_id`.
Returns: Returns:
@ -4072,7 +4072,7 @@ class Message(MaybeInaccessibleMessage):
For the documentation of the arguments, please see :meth:`telegram.Bot.stop_poll`. For the documentation of the arguments, please see :meth:`telegram.Bot.stop_poll`.
.. versionchanged:: NEXT.VERSION .. versionchanged:: 21.4
Now also passes :attr:`business_connection_id`. Now also passes :attr:`business_connection_id`.
Returns: Returns:

View file

@ -158,7 +158,7 @@ class MessageEntity(TelegramObject):
For more information, see `Unicode <https://en.wikipedia.org/wiki/Unicode>`_ and For more information, see `Unicode <https://en.wikipedia.org/wiki/Unicode>`_ and
`Plane (Unicode) <https://en.wikipedia.org/wiki/Plane_(Unicode)>`_. `Plane (Unicode) <https://en.wikipedia.org/wiki/Plane_(Unicode)>`_.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Examples: Examples:
Below is a snippet of code that demonstrates how to use this function to convert Below is a snippet of code that demonstrates how to use this function to convert

View file

@ -42,7 +42,7 @@ class PaidMedia(TelegramObject):
Objects of this class are comparable in terms of equality. Two objects of this class are Objects of this class are comparable in terms of equality. Two objects of this class are
considered equal, if their :attr:`type` is equal. considered equal, if their :attr:`type` is equal.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Args: Args:
type (:obj:`str`): Type of the paid media. type (:obj:`str`): Type of the paid media.
@ -114,7 +114,7 @@ class PaidMediaPreview(PaidMedia):
considered equal, if their :attr:`width`, :attr:`height`, and :attr:`duration` considered equal, if their :attr:`width`, :attr:`height`, and :attr:`duration`
are equal. are equal.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Args: Args:
type (:obj:`str`): Type of the paid media, always :tg-const:`telegram.PaidMedia.PREVIEW`. type (:obj:`str`): Type of the paid media, always :tg-const:`telegram.PaidMedia.PREVIEW`.
@ -156,7 +156,7 @@ class PaidMediaPhoto(PaidMedia):
Objects of this class are comparable in terms of equality. Two objects of this class are Objects of this class are comparable in terms of equality. Two objects of this class are
considered equal, if their :attr:`photo` are equal. considered equal, if their :attr:`photo` are equal.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Args: Args:
type (:obj:`str`): Type of the paid media, always :tg-const:`telegram.PaidMedia.PHOTO`. type (:obj:`str`): Type of the paid media, always :tg-const:`telegram.PaidMedia.PHOTO`.
@ -202,7 +202,7 @@ class PaidMediaVideo(PaidMedia):
Objects of this class are comparable in terms of equality. Two objects of this class are Objects of this class are comparable in terms of equality. Two objects of this class are
considered equal, if their :attr:`video` are equal. considered equal, if their :attr:`video` are equal.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Args: Args:
type (:obj:`str`): Type of the paid media, always :tg-const:`telegram.PaidMedia.VIDEO`. type (:obj:`str`): Type of the paid media, always :tg-const:`telegram.PaidMedia.VIDEO`.
@ -248,7 +248,7 @@ class PaidMediaInfo(TelegramObject):
Objects of this class are comparable in terms of equality. Two objects of this class are Objects of this class are comparable in terms of equality. Two objects of this class are
considered equal, if their :attr:`star_count` and :attr:`paid_media` are equal. considered equal, if their :attr:`star_count` and :attr:`paid_media` are equal.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Args: Args:
star_count (:obj:`int`): The number of Telegram Stars that must be paid to buy access to star_count (:obj:`int`): The number of Telegram Stars that must be paid to buy access to

View file

@ -222,10 +222,10 @@ class EncryptedPassportElement(TelegramObject):
bot (:class:`telegram.Bot` | :obj:`None`): The bot associated with these object. bot (:class:`telegram.Bot` | :obj:`None`): The bot associated with these object.
May be :obj:`None`, in which case shortcut methods will not be available. May be :obj:`None`, in which case shortcut methods will not be available.
.. versionchanged:: NEXT.VERSION .. versionchanged:: 21.4
:paramref:`bot` is now optional and defaults to :obj:`None` :paramref:`bot` is now optional and defaults to :obj:`None`
.. deprecated:: NEXT.VERSION .. deprecated:: 21.4
This argument will be converted to an optional argument in future versions. This argument will be converted to an optional argument in future versions.
credentials (:class:`telegram.FileCredentials`): The credentials credentials (:class:`telegram.FileCredentials`): The credentials

View file

@ -128,10 +128,10 @@ class PassportFile(TelegramObject):
bot (:class:`telegram.Bot` | :obj:`None`): The bot associated with these object. bot (:class:`telegram.Bot` | :obj:`None`): The bot associated with these object.
May be :obj:`None`, in which case shortcut methods will not be available. May be :obj:`None`, in which case shortcut methods will not be available.
.. versionchanged:: NEXT.VERSION .. versionchanged:: 21.4
:paramref:`bot` is now optional and defaults to :obj:`None` :paramref:`bot` is now optional and defaults to :obj:`None`
.. deprecated:: NEXT.VERSION .. deprecated:: 21.4
This argument will be converted to an optional argument in future versions. This argument will be converted to an optional argument in future versions.
credentials (:class:`telegram.FileCredentials`): The credentials credentials (:class:`telegram.FileCredentials`): The credentials
@ -168,10 +168,10 @@ class PassportFile(TelegramObject):
bot (:class:`telegram.Bot` | :obj:`None`): The bot associated with these object. bot (:class:`telegram.Bot` | :obj:`None`): The bot associated with these object.
May be :obj:`None`, in which case shortcut methods will not be available. May be :obj:`None`, in which case shortcut methods will not be available.
.. versionchanged:: NEXT.VERSION .. versionchanged:: 21.4
:paramref:`bot` is now optional and defaults to :obj:`None` :paramref:`bot` is now optional and defaults to :obj:`None`
.. deprecated:: NEXT.VERSION .. deprecated:: 21.4
This argument will be converted to an optional argument in future versions. This argument will be converted to an optional argument in future versions.
credentials (:class:`telegram.FileCredentials`): The credentials credentials (:class:`telegram.FileCredentials`): The credentials

View file

@ -45,7 +45,7 @@ class RevenueWithdrawalState(TelegramObject):
Objects of this class are comparable in terms of equality. Two objects of this class are Objects of this class are comparable in terms of equality. Two objects of this class are
considered equal, if their :attr:`type` is equal. considered equal, if their :attr:`type` is equal.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Args: Args:
type (:obj:`str`): The type of the state. type (:obj:`str`): The type of the state.
@ -94,7 +94,7 @@ class RevenueWithdrawalState(TelegramObject):
class RevenueWithdrawalStatePending(RevenueWithdrawalState): class RevenueWithdrawalStatePending(RevenueWithdrawalState):
"""The withdrawal is in progress. """The withdrawal is in progress.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Attributes: Attributes:
type (:obj:`str`): The type of the state, always type (:obj:`str`): The type of the state, always
@ -114,7 +114,7 @@ class RevenueWithdrawalStateSucceeded(RevenueWithdrawalState):
Objects of this class are comparable in terms of equality. Two objects of this class are Objects of this class are comparable in terms of equality. Two objects of this class are
considered equal, if their :attr:`date` are equal. considered equal, if their :attr:`date` are equal.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Args: Args:
date (:obj:`datetime.datetime`): Date the withdrawal was completed as a datetime object. date (:obj:`datetime.datetime`): Date the withdrawal was completed as a datetime object.
@ -165,7 +165,7 @@ class RevenueWithdrawalStateSucceeded(RevenueWithdrawalState):
class RevenueWithdrawalStateFailed(RevenueWithdrawalState): class RevenueWithdrawalStateFailed(RevenueWithdrawalState):
"""The withdrawal failed and the transaction was refunded. """The withdrawal failed and the transaction was refunded.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Attributes: Attributes:
type (:obj:`str`): The type of the state, always type (:obj:`str`): The type of the state, always
@ -191,7 +191,7 @@ class TransactionPartner(TelegramObject):
Objects of this class are comparable in terms of equality. Two objects of this class are Objects of this class are comparable in terms of equality. Two objects of this class are
considered equal, if their :attr:`type` is equal. considered equal, if their :attr:`type` is equal.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Args: Args:
type (:obj:`str`): The type of the transaction partner. type (:obj:`str`): The type of the transaction partner.
@ -257,7 +257,7 @@ class TransactionPartner(TelegramObject):
class TransactionPartnerFragment(TransactionPartner): class TransactionPartnerFragment(TransactionPartner):
"""Describes a withdrawal transaction with Fragment. """Describes a withdrawal transaction with Fragment.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Args: Args:
withdrawal_state (:obj:`telegram.RevenueWithdrawalState`, optional): State of the withdrawal_state (:obj:`telegram.RevenueWithdrawalState`, optional): State of the
@ -305,7 +305,7 @@ class TransactionPartnerUser(TransactionPartner):
Objects of this class are comparable in terms of equality. Two objects of this class are Objects of this class are comparable in terms of equality. Two objects of this class are
considered equal, if their :attr:`user` are equal. considered equal, if their :attr:`user` are equal.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Args: Args:
user (:class:`telegram.User`): Information about the user. user (:class:`telegram.User`): Information about the user.
@ -354,7 +354,7 @@ class TransactionPartnerUser(TransactionPartner):
class TransactionPartnerOther(TransactionPartner): class TransactionPartnerOther(TransactionPartner):
"""Describes a transaction with an unknown partner. """Describes a transaction with an unknown partner.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Attributes: Attributes:
type (:obj:`str`): The type of the transaction partner, type (:obj:`str`): The type of the transaction partner,
@ -371,7 +371,7 @@ class TransactionPartnerOther(TransactionPartner):
class TransactionPartnerTelegramAds(TransactionPartner): class TransactionPartnerTelegramAds(TransactionPartner):
"""Describes a withdrawal transaction to the Telegram Ads platform. """Describes a withdrawal transaction to the Telegram Ads platform.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Attributes: Attributes:
type (:obj:`str`): The type of the transaction partner, type (:obj:`str`): The type of the transaction partner,
@ -391,7 +391,7 @@ class StarTransaction(TelegramObject):
Objects of this class are comparable in terms of equality. Two objects of this class are Objects of this class are comparable in terms of equality. Two objects of this class are
considered equal, if their :attr:`id`, :attr:`source`, and :attr:`receiver` are equal. considered equal, if their :attr:`id`, :attr:`source`, and :attr:`receiver` are equal.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Args: Args:
id (:obj:`str`): Unique identifier of the transaction. Coincides with the identifer id (:obj:`str`): Unique identifier of the transaction. Coincides with the identifer
@ -474,7 +474,7 @@ class StarTransactions(TelegramObject):
Objects of this class are comparable in terms of equality. Two objects of this class are Objects of this class are comparable in terms of equality. Two objects of this class are
considered equal, if their :attr:`transactions` are equal. considered equal, if their :attr:`transactions` are equal.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Args: Args:
transactions (Sequence[:class:`telegram.StarTransaction`]): The list of transactions. transactions (Sequence[:class:`telegram.StarTransaction`]): The list of transactions.

View file

@ -108,7 +108,7 @@ class ExternalReplyInfo(TelegramObject):
paid_media (:class:`telegram.PaidMedia`, optional): Message contains paid media; paid_media (:class:`telegram.PaidMedia`, optional): Message contains paid media;
information about the paid media. information about the paid media.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
Attributes: Attributes:
origin (:class:`telegram.MessageOrigin`): Origin of the message replied to by the given origin (:class:`telegram.MessageOrigin`): Origin of the message replied to by the given
@ -158,7 +158,7 @@ class ExternalReplyInfo(TelegramObject):
paid_media (:class:`telegram.PaidMedia`): Optional. Message contains paid media; paid_media (:class:`telegram.PaidMedia`): Optional. Message contains paid media;
information about the paid media. information about the paid media.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
""" """
__slots__ = ( __slots__ = (

View file

@ -442,7 +442,7 @@ class TelegramObject:
bot (:class:`telegram.Bot`, optional): The bot associated with this object. Defaults to bot (:class:`telegram.Bot`, optional): The bot associated with this object. Defaults to
:obj:`None`, in which case shortcut methods will not be available. :obj:`None`, in which case shortcut methods will not be available.
.. versionchanged:: NEXT.VERSION .. versionchanged:: 21.4
:paramref:`bot` is now optional and defaults to :obj:`None` :paramref:`bot` is now optional and defaults to :obj:`None`
Returns: Returns:
@ -467,7 +467,7 @@ class TelegramObject:
bot (:class:`telegram.Bot`, optional): The bot associated with these object. Defaults bot (:class:`telegram.Bot`, optional): The bot associated with these object. Defaults
to :obj:`None`, in which case shortcut methods will not be available. to :obj:`None`, in which case shortcut methods will not be available.
.. versionchanged:: NEXT.VERSION .. versionchanged:: 21.4
:paramref:`bot` is now optional and defaults to :obj:`None` :paramref:`bot` is now optional and defaults to :obj:`None`
Returns: Returns:

View file

@ -51,6 +51,6 @@ class Version(NamedTuple):
__version_info__: Final[Version] = Version( __version_info__: Final[Version] = Version(
major=21, minor=3, micro=0, releaselevel="final", serial=0 major=21, minor=4, micro=0, releaselevel="final", serial=0
) )
__version__: Final[str] = str(__version_info__) __version__: Final[str] = str(__version_info__)

View file

@ -1265,7 +1265,7 @@ class InputPaidMediaType(StringEnum):
"""This enum contains the available types of :class:`telegram.InputPaidMedia`. The enum """This enum contains the available types of :class:`telegram.InputPaidMedia`. The enum
members of this enumeration are instances of :class:`str` and can be treated as such. members of this enumeration are instances of :class:`str` and can be treated as such.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
""" """
__slots__ = () __slots__ = ()
@ -1622,7 +1622,7 @@ class MessageAttachmentType(StringEnum):
PAID_MEDIA = "paid_media" PAID_MEDIA = "paid_media"
""":obj:`str`: Messages with :attr:`telegram.Message.paid_media`. """:obj:`str`: Messages with :attr:`telegram.Message.paid_media`.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
""" """
PASSPORT_DATA = "passport_data" PASSPORT_DATA = "passport_data"
""":obj:`str`: Messages with :attr:`telegram.Message.passport_data`.""" """:obj:`str`: Messages with :attr:`telegram.Message.passport_data`."""
@ -1908,7 +1908,7 @@ class MessageType(StringEnum):
PAID_MEDIA = "paid_media" PAID_MEDIA = "paid_media"
""":obj:`str`: Messages with :attr:`telegram.Message.paid_media`. """:obj:`str`: Messages with :attr:`telegram.Message.paid_media`.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
""" """
PASSPORT_DATA = "passport_data" PASSPORT_DATA = "passport_data"
""":obj:`str`: Messages with :attr:`telegram.Message.passport_data`.""" """:obj:`str`: Messages with :attr:`telegram.Message.passport_data`."""
@ -1923,7 +1923,7 @@ class MessageType(StringEnum):
REFUNDED_PAYMENT = "refunded_payment" REFUNDED_PAYMENT = "refunded_payment"
""":obj:`str`: Messages with :attr:`telegram.Message.refunded_payment`. """:obj:`str`: Messages with :attr:`telegram.Message.refunded_payment`.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
""" """
REPLY_TO_STORY = "reply_to_story" REPLY_TO_STORY = "reply_to_story"
""":obj:`str`: Messages with :attr:`telegram.Message.reply_to_story`. """:obj:`str`: Messages with :attr:`telegram.Message.reply_to_story`.
@ -1988,7 +1988,7 @@ class PaidMediaType(StringEnum):
This enum contains the available types of :class:`telegram.PaidMedia`. The enum This enum contains the available types of :class:`telegram.PaidMedia`. The enum
members of this enumeration are instances of :class:`str` and can be treated as such. members of this enumeration are instances of :class:`str` and can be treated as such.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
""" """
__slots__ = () __slots__ = ()
@ -2360,7 +2360,7 @@ class RevenueWithdrawalStateType(StringEnum):
"""This enum contains the available types of :class:`telegram.RevenueWithdrawalState`. """This enum contains the available types of :class:`telegram.RevenueWithdrawalState`.
The enum members of this enumeration are instances of :class:`str` and can be treated as such. The enum members of this enumeration are instances of :class:`str` and can be treated as such.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
""" """
__slots__ = () __slots__ = ()
@ -2377,7 +2377,7 @@ class StarTransactionsLimit(IntEnum):
"""This enum contains limitations for :class:`telegram.Bot.get_star_transactions`. """This enum contains limitations for :class:`telegram.Bot.get_star_transactions`.
The enum members of this enumeration are instances of :class:`int` and can be treated as such. The enum members of this enumeration are instances of :class:`int` and can be treated as such.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
""" """
__slots__ = () __slots__ = ()
@ -2529,7 +2529,7 @@ class TransactionPartnerType(StringEnum):
"""This enum contains the available types of :class:`telegram.TransactionPartner`. The enum """This enum contains the available types of :class:`telegram.TransactionPartner`. The enum
members of this enumeration are instances of :class:`str` and can be treated as such. members of this enumeration are instances of :class:`str` and can be treated as such.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
""" """
__slots__ = () __slots__ = ()

View file

@ -1717,7 +1717,7 @@ class _PaidMedia(MessageFilter):
PAID_MEDIA = _PaidMedia(name="filters.PAID_MEDIA") PAID_MEDIA = _PaidMedia(name="filters.PAID_MEDIA")
"""Messages that contain :attr:`telegram.Message.paid_media`. """Messages that contain :attr:`telegram.Message.paid_media`.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
""" """
@ -2214,7 +2214,7 @@ class StatusUpdate:
REFUNDED_PAYMENT = _RefundedPayment("filters.StatusUpdate.REFUNDED_PAYMENT") REFUNDED_PAYMENT = _RefundedPayment("filters.StatusUpdate.REFUNDED_PAYMENT")
"""Messages that contain :attr:`telegram.Message.refunded_payment`. """Messages that contain :attr:`telegram.Message.refunded_payment`.
.. versionadded:: NEXT.VERSION .. versionadded:: 21.4
""" """
class _UserShared(MessageFilter): class _UserShared(MessageFilter):