API 7.3: ChatFullInfo, Readmes#4242
Merged
Bibo-Joshi merged 9 commits intoapi-7.3-centralfrom May 12, 2024
Merged
Conversation
Bibo-Joshi
requested changes
May 9, 2024
Member
Bibo-Joshi
left a comment
There was a problem hiding this comment.
Hi @harshil21 thanks for getting started. You were in fact a bit too quick for me :D To ensure backward compatibility in accordance to our stability policy, I would like to instead use the following approach:
- Keep the arguments & attributes in
Chat, just deprecate them as we usually do. This ensures backward compatibility for the class. - Make
ChatFullInfoa subclass ofChatand add only arguments/attributes thatChatFullChatInfohas in addition toChat. Avoiding to issue deprecation warnings inChatFullInfocan be done maybe by implementing a helper methodChat._do_warnthatChatFullInfocan override. By subclassing, the return value ofget_chatis backward compatible as well and should avoid code duplication for shortcut methods & properties. Document that theChatbase class will be removed in the future. - On the next api release, we can introduce a new private
_ChatBaseclass that bothChatandChatFullInfoinherit from.
Member
Author
what do you think about overriding |
Bibo-Joshi
reviewed
May 10, 2024
Member
Bibo-Joshi
left a comment
There was a problem hiding this comment.
Thank you very much for the updates! Just two nitpicks
Bibo-Joshi
reviewed
May 12, 2024
Member
Bibo-Joshi
left a comment
There was a problem hiding this comment.
basically LGTM, just two questions out of curiosity :)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Checklist
.. versionadded:: NEXT.VERSION,.. versionchanged:: NEXT.VERSIONor.. deprecated:: NEXT.VERSIONto the docstrings for user facing changes (for methods/class descriptions, arguments and attributes)CSI standard <https://standards.mousepawmedia.com/en/stable/csi.html>__AUTHORS.rst(optional)__all__sStability Policy <https://docs.python-telegram-bot.org/stability_policy.html>_ in case of deprecations or changes to documented behaviorIf the PR contains API changes (otherwise, you can ignore this passage)
Checked the Bot API specific sections of the Stability Policy
New classes:
self._id_attrsand corresponding documentation__init__acceptsapi_kwargsas kw-onlyAdded new shortcuts:
~telegram.Chat& :class:~telegram.Userfor all methods that acceptchat/user_id~telegram.Messagefor all methods that acceptchat_idandmessage_id~telegram.Messageshortcuts: Addeddo_quoteargument if methods acceptsreply_to_message_id~telegram.CallbackQueryfor all methods that accept eitherchat_idandmessage_idorinline_message_idIf relevant:
telegram.constantsand shortcuts to them as class variablestelegram.Message.effective_attachment~telegram.ext.ConversationHandler_extbot.pybot_methods.rstREADME.rstandREADME_RAW.rst(including the badge), as well astelegram.constants.BOT_API_VERSION_INFOtelegram.ext.ExtBotfor new methods that either accept areply_markupin some form or have a return type that is/contains :class:~telegram.Message