-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Api 9.0 business stories #4769
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Api 9.0 business stories #4769
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.
1. a missing `self._freez()` 2. a missing exception to `test_types_are_converted_to_enum`.
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.
Very nice, almost nothing to comment! You included all test cases for default handling, local files etc as well, awesome 💪
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 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):
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.
copilot did find something :)
…-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
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__
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_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 variablesAdd new message types to :attr:telegram.Message.effective_attachment
Added new handlers for new update types_extbot.py
bot_methods.rst
Business Accounts