Thanks to visit codestin.com
Credit goes to github.com

Skip to content

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

Merged
merged 8 commits into from
Apr 28, 2025
Merged

Api 9.0 business stories #4769

merged 8 commits into from
Apr 28, 2025

Conversation

aelkheir
Copy link
Member

Check-list for PRs

  • Added .. 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)
  • Created new or adapted existing unit tests
  • Documented code changes according to the CSI standard <https://standards.mousepawmedia.com/en/stable/csi.html>__
  • Added new classes & modules to the docs and all suitable __all__ s
  • Checked the Stability Policy <https://docs.python-telegram-bot.org/stability_policy.html>_ in case of deprecations or changes to documented behavior

If 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:

    • Added self._id_attrs and corresponding documentation
  • Added new shortcuts:

    • In :class:~telegram.Chat & :class:~telegram.User for all methods that accept chat/user_id
    • In :class:~telegram.Message for all methods that accept chat_id and message_id
    • For new :class:~telegram.Message shortcuts: Added quote argument if methods accepts reply_to_message_id
    • In :class:~telegram.CallbackQuery for all methods that accept either chat_id and message_id or inline_message_id
  • If relevant:

    • Added new constants at :mod:telegram.constants and shortcuts to them as class variables
    • Link new and existing constants in docstrings instead of hard-coded numbers and strings
    • Add new message types to :attr:telegram.Message.effective_attachment
    • Added new handlers for new update types
    • Added or updated documentation for the changed class(es) and/or method(s)
    • Added the new method(s) to _extbot.py
    • Added or updated bot_methods.rst

Business Accounts

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.
@aelkheir aelkheir mentioned this pull request Apr 26, 2025
35 tasks
1. a missing `self._freez()`
2. a missing exception to `test_types_are_converted_to_enum`.
@aelkheir aelkheir added the 📋 pending-review work status: pending-review label Apr 26, 2025
Copy link
Member

@Bibo-Joshi Bibo-Joshi left a 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 💪

@Bibo-Joshi Bibo-Joshi requested a review from Copilot April 27, 2025 17:04
Copy link

@Copilot Copilot AI left a 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):

Copy link
Member

@Bibo-Joshi Bibo-Joshi left a 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
@Bibo-Joshi Bibo-Joshi merged commit 6e202f3 into api_9.0 Apr 28, 2025
25 of 26 checks passed
@Bibo-Joshi Bibo-Joshi deleted the api_9.0-business-stories branch April 28, 2025 20:17
@aelkheir aelkheir removed the 📋 pending-review work status: pending-review label Apr 28, 2025
@github-actions github-actions bot locked and limited conversation to collaborators May 6, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants