Skip to content

API 6.8 - #3853

Merged
Bibo-Joshi merged 20 commits into
masterfrom
api-6.8
Sep 3, 2023
Merged

API 6.8#3853
Bibo-Joshi merged 20 commits into
masterfrom
api-6.8

Conversation

@harshil21

@harshil21 harshil21 commented Aug 19, 2023

Copy link
Copy Markdown
Member

Checklist

  • Added .. versionadded:: NEXT.VERSION, .. versionchanged:: NEXT.VERSION or .. deprecated:: 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 myself alphabetically to AUTHORS.rst (optional)
  • 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
  • Create PR to remove functionality deprecated in API 6.7 #3673

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>_

  • New classes:

    • Added self._id_attrs and corresponding documentation
    • __init__ accepts api_kwargs as kw-only
  • 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
    • Add the handlers to the warning loop in the :class:~telegram.ext.ConversationHandler
    • Added new filters for new message (sub)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
    • Updated the Bot API version number in all places: README.rst and README_RAW.rst (including the badge), as well as telegram.constants.BOT_API_VERSION_INFO
    • Added logic for arbitrary callback data in :class:telegram.ext.ExtBot for new methods that either accept a reply_markup in some form or have a return type that is/contains :class:~telegram.Message

@harshil21 harshil21 added ⚙️ bot-api affected functionality: bot-api 📋 pending-review work status: pending-review labels Aug 19, 2023

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey! Looks like you edited README.rst or README_RAW.rst. I'm just a friendly reminder to apply relevant changes to both of those files :)

@Bibo-Joshi Bibo-Joshi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! I've left a few comments. IISC the only mismatch with the Bot API left is the arguments of PollAnswer becoming optional.

In addition to adding the new functionality, we must also remove all deprecations & backward compatibility layers we introduced for API 6.7, in accordance to our stability policy. This should be done in a separate PR IMO. Still, I'm adding it to the checklist for completeness.

Comment thread telegram/_poll.py Outdated
Comment thread telegram/_poll.py Outdated
Comment thread telegram/_poll.py Outdated
Comment thread tests/test_forum.py Outdated
@harshil21 harshil21 removed the 📋 pending-review work status: pending-review label Aug 22, 2023

@Bibo-Joshi Bibo-Joshi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the updates! :)

Comment thread telegram/_poll.py Outdated
Comment thread telegram/_poll.py Outdated
Comment thread telegram/_poll.py Outdated
Comment thread telegram/_poll.py Outdated
Comment thread telegram/_poll.py Outdated
Comment thread telegram/_poll.py Outdated

@Bibo-Joshi Bibo-Joshi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found one more item in the checklist - otherwise I'm happy :)

Comment thread telegram/_message.py

@Bibo-Joshi Bibo-Joshi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, then :) @clot27 @harshil21 do you have anything to add? @lemontree210 @Poolitzer do you want to review as well?

Comment thread telegram/_poll.py

@harshil21 harshil21 left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Poolitzer Poolitzer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And we should change the int attribute to datetime as well hmmm.

Do we have other empty classes trigger attachment? Because this feels wrong to me tbh.

Comment thread telegram/_chat.py Outdated
Comment thread telegram/_chat.py Outdated
Comment thread telegram/_poll.py

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice backwards compatibility change

@Bibo-Joshi

Copy link
Copy Markdown
Member

@Poolitzer Uff how did we miss that. Yes the expiration date need to be converted to datetime.

@Bibo-Joshi Bibo-Joshi added this to the v20.5 milestone Sep 3, 2023
@Bibo-Joshi
Bibo-Joshi merged commit bd24da2 into master Sep 3, 2023
@Bibo-Joshi
Bibo-Joshi deleted the api-6.8 branch September 3, 2023 11:43
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

⚙️ bot-api affected functionality: bot-api

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants