- Notifications
You must be signed in to change notification settings - Fork5.7k
Api 9.0 premium#4781
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Api 9.0 premium#4781
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Telegram Premium- Added the method giftPremiumSubscription, allowing bots to gift a user a Telegram Premium subscription paid in Telegram Stars.
Telegram Premium- Added the field premium_subscription_duration to the class TransactionPartnerUser for transactions involving a Telegram Premium subscription purchased by the bot.- Added the field transaction_type to the class TransactionPartnerUser, simplifying the differentiation and processing of all transaction types.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Pull Request Overview
This PR introduces Telegram Premium subscription gifting functionality and related API changes. Key updates include adding the new method gift_premium_subscription in both the extbot and bot modules, updating the TransactionPartnerUser class to require a new transaction_type (and premium_subscription_duration), and adding the PremiumSubscription enum with associated constants.
Reviewed Changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.
Show a summary per file
File | Description |
---|---|
tests/test_official/exceptions.py | Extended the ignored parameters mapping to include TransactionPartnerUser.transaction_type. |
tests/test_bot.py | Added tests for gift_premium_subscription with validations for proper parameter mapping. |
tests/_payment/stars/test_transactionpartner.py | Updated tests and fixtures for TransactionPartnerUser to incorporate transaction_type and premium_subscription_duration. |
tests/_payment/stars/test_startransactions.py | Adjusted TransactionPartnerUser instantiations; one instance uses a nonstandard transaction_type. |
telegram/ext/_extbot.py | Added gift_premium_subscription method and its alias giftPremiumSubscription. |
telegram/constants.py | Introduced the PremiumSubscription enum and updated the constants list. |
telegram/_payment/stars/transactionpartner.py | Updated TransactionPartnerUser to enforce and include transaction_type and premium_subscription_duration in equality comparisons. |
telegram/_bot.py | Added gift_premium_subscription with thorough docstrings and created camelCase aliases. |
changes/unreleased/4756.JT5nmUmGRG6qDEh5ScMn5f.toml | Updated changelog to reference a new pull request closing threads. |
Files not reviewed (1)
- docs/source/inclusions/bot_methods.rst: Language not supported
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Hey, thanks for another api 9.0 PR :D You didn't request a review yet, I hope it's okay that I went ahead already anways. I saw only a few minor things in the code. What I did notice is that a shortcutUser.gift_premium_subscription
would make sense :)
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
- Add shortcut User.gift_premium_subscription- Add a missing ".. versionadded"- Update "deprecations" change note to recommend using keyword arguments for added required fields to existing classes.
Perfectly fine, I just forgot to request the review :D |
# Conflicts:#changes/unreleased/4756.JT5nmUmGRG6qDEh5ScMn5f.toml
c1e6b5b
intoapi_9.0Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Check-list for PRs
.. versionadded:: NEXT.VERSION
,.. versionchanged:: NEXT.VERSION
,.. deprecated:: NEXT.VERSION
or.. versionremoved:: NEXT.VERSION
to the docstrings for user facing changes (for methods/class descriptions, arguments and attributes)CSI standard <https://standards.mousepawmedia.com/en/stable/csi.html>
____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 <https://docs.python-telegram-bot.org/stability_policy.html>
_Created a PR to remove functionality deprecated in the previous Bot API release (
see here <https://docs.python-telegram-bot.org/en/stable/stability_policy.html#case-2>
_)New classes:
self._id_attrs
and corresponding documentationAdded new shortcuts:
~telegram.Chat
& :class:~telegram.User
for all methods that acceptchat/user_id
~telegram.Message
for all methods that acceptchat_id
andmessage_id
~telegram.Message
shortcuts: Addedquote
argument if methods acceptsreply_to_message_id
~telegram.CallbackQuery
for all methods that accept eitherchat_id
andmessage_id
orinline_message_id
If relevant:
telegram.constants
and shortcuts to them as class variables_extbot.py
bot_methods.rst
Telegram Premium