Conversation
Business Accounts - Added the classes `InputStoryContentPhoto` and `InputStoryContentVideo` representing the content of a story to post.
Business Accounts - Added the classes `StoryArea`, `StoryAreaPosition`, `LocationAddress`, `StoryAreaTypeLocation`, `StoryAreaTypeSuggestedReaction`, `StoryAreaTypeLink`, `StoryAreaTypeWeather` and `StoryAreaTypeUniqueGift`, describing clickable active areas on stories.
Business Accounts - Added the method `postStory`, allowing bots to post a story on behalf of a managed business account. - Added the method `editStory`, allowing bots to edit stories they had previously posted on behalf of a managed business account. - Added the method `deleteStory`, allowing bots to delete stories they had previously posted on behalf of a managed business account.
35 tasks
1. a missing `self._freez()` 2. a missing exception to `test_types_are_converted_to_enum`.
vipzonevip
approved these changes
Apr 26, 2025
Bibo-Joshi
reviewed
Apr 27, 2025
Member
Bibo-Joshi
left a comment
There was a problem hiding this comment.
Very nice, almost nothing to comment! You included all test cases for default handling, local files etc as well, awesome 💪
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR introduces new functionality to support story-related features for business accounts in the API. Key changes include:
- Addition of new story endpoints (post_story, edit_story, delete_story) in both the ext bot and core bot modules.
- Introduction of new classes for handling story content (InputStoryContent, InputStoryContentPhoto, InputStoryContentVideo) in a separate file.
- Extension of constants with new story-related limits and types.
Reviewed Changes
Copilot reviewed 15 out of 29 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| telegram/ext/_extbot.py | Added post_story, edit_story, delete_story methods and aliases. |
| telegram/constants.py | Added enums for InputStoryContentLimit, StoryArea limits, etc. |
| telegram/_files/_inputstorycontent.py | Added new classes for story content handling. |
| telegram/_bot.py | Introduced story API methods with corresponding docstrings. |
| telegram/init.py | Exported new story-related classes and constants. |
| changes/unreleased/4756.JT5nmUmGRG6qDEh5ScMn5f.toml | Updated pull request metadata linking to this change. |
Files not reviewed (14)
- docs/source/inclusions/bot_methods.rst: Language not supported
- docs/source/telegram.at-tree.rst: Language not supported
- docs/source/telegram.inputstorycontent.rst: Language not supported
- docs/source/telegram.inputstorycontentphoto.rst: Language not supported
- docs/source/telegram.inputstorycontentvideo.rst: Language not supported
- docs/source/telegram.locationaddress.rst: Language not supported
- docs/source/telegram.storyarea.rst: Language not supported
- docs/source/telegram.storyareaposition.rst: Language not supported
- docs/source/telegram.storyareatype.rst: Language not supported
- docs/source/telegram.storyareatypelink.rst: Language not supported
- docs/source/telegram.storyareatypelocation.rst: Language not supported
- docs/source/telegram.storyareatypesuggestedreaction.rst: Language not supported
- docs/source/telegram.storyareatypeuniquegift.rst: Language not supported
- docs/source/telegram.storyareatypeweather.rst: Language not supported
Comments suppressed due to low confidence (2)
telegram/_bot.py:9780
- The delete_story method is calling the 'deleteBusinessMessages' endpoint instead of the correct 'deleteStory' endpoint. Please update the endpoint to match the new story API.
return await self._post("deleteBusinessMessages", data,
telegram/constants.py:2826
- [nitpick] The name 'StoryAreaTypeType' is a bit redundant and may be confusing. Consider renaming it to 'StoryAreaTypeEnum' for clarity.
class StoryAreaTypeType(StringEnum):
Bibo-Joshi
reviewed
Apr 27, 2025
Member
Bibo-Joshi
left a comment
There was a problem hiding this comment.
copilot did find something :)
Bibo-Joshi
approved these changes
Apr 28, 2025
…-stories Conflicts: changes/unreleased/4756.JT5nmUmGRG6qDEh5ScMn5f.toml docs/source/inclusions/bot_methods.rst telegram/constants.py telegram/request/_requestparameter.py tests/request/test_requestparameter.py tests/test_business_methods.py tests/test_official/exceptions.py
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.
Check-list for PRs
.. versionadded:: NEXT.VERSION,.. versionchanged:: NEXT.VERSION,.. deprecated:: NEXT.VERSIONor.. versionremoved:: 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>____all__sChecked theStability 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_attrsand corresponding documentationAdded new shortcuts:~telegram.Chat& :class:~telegram.Userfor all methods that acceptchat/user_id~telegram.Messagefor all methods that acceptchat_idandmessage_id~telegram.Messageshortcuts: Addedquoteargument 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 variablesAdd new message types to :attr:telegram.Message.effective_attachmentAdded new handlers for new update types_extbot.pybot_methods.rstBusiness Accounts