* Improve some badges for PTB-Raw

* doc fix for add_error_handler

* Some rendering

* Bump sphinx dependency

* Change signature annotation setting

* fix: chat_id can be string, message_id only int

* feat: add RTD link to documentation

* improving sender chat docstring (#2412)

* fix: improving sender chat docstring

also adding a note to a weird edge case

* fix: words being hard

* Add note on donations

* typo

* typo in User.get_profile_pictures docstrings

* Fix: meth, not attr for meth, not attr

* filters + inlinequery doc fix

* Bump versions, update RTD config file

* Try fix build

* Revert "fix: chat_id can be string, message_id only int"

This reverts commit ba04e5aa

* Add Starry & Harshil to credits

Co-authored-by: poolitzer <25934244+Poolitzer@users.noreply.github.com>
Co-authored-by: Harshil <ilovebhagwan@gmail.com>
This commit is contained in:
Bibo-Joshi 2021-03-14 16:46:37 +01:00 committed by GitHub
parent 7015f8dedc
commit 7d893fd04b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 136 additions and 97 deletions

View file

@ -50,6 +50,8 @@ Instructions for making a code change
The central development branch is ``master``, which should be clean and ready for release at any time. In general, all changes should be done as feature branches based off of ``master``. The central development branch is ``master``, which should be clean and ready for release at any time. In general, all changes should be done as feature branches based off of ``master``.
If you want to do solely documentation changes, base them and PR to the branch ``doc-fixes``. This branch also has its own `RTD build`_.
Here's how to make a one-off code change. Here's how to make a one-off code change.
1. **Choose a descriptive branch name.** It should be lowercase, hyphen-separated, and a noun describing the change (so, ``fuzzy-rules``, but not ``implement-fuzzy-rules``). Also, it shouldn't start with ``hotfix`` or ``release``. 1. **Choose a descriptive branch name.** It should be lowercase, hyphen-separated, and a noun describing the change (so, ``fuzzy-rules``, but not ``implement-fuzzy-rules``). Also, it shouldn't start with ``hotfix`` or ``release``.
@ -250,3 +252,4 @@ break the API classes. For example:
.. _`here`: https://mypy.readthedocs.io/en/stable/cheat_sheet_py3.html .. _`here`: https://mypy.readthedocs.io/en/stable/cheat_sheet_py3.html
.. _`Black`: https://black.readthedocs.io/en/stable/index.html .. _`Black`: https://black.readthedocs.io/en/stable/index.html
.. _`popular editors`: https://black.readthedocs.io/en/stable/editor_integration.html .. _`popular editors`: https://black.readthedocs.io/en/stable/editor_integration.html
.. _`RTD build`: https://python-telegram-bot.readthedocs.io/en/doc-fixes

View file

@ -1,10 +1,22 @@
# syntax: https://docs.readthedocs.io/en/latest/yaml-config.html # .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/source/conf.py
# Optionally build your docs in additional formats such as PDF
formats: formats:
- pdf - pdf
# Optionally set the version of Python and requirements required to build your docs
python: python:
setup_py_install: true
version: 3 version: 3
install:
requirements_file: docs/requirements-docs.txt - method: pip
path: .
- requirements: docs/requirements-docs.txt

View file

@ -2,12 +2,20 @@ Credits
======= =======
``python-telegram-bot`` was originally created by ``python-telegram-bot`` was originally created by
`Leandro Toledo <https://github.com/leandrotoledo>`_ and is now maintained by `Hinrich Mahler <https://github.com/Bibo-Joshi>`_. `Leandro Toledo <https://github.com/leandrotoledo>`_.
The current development team includes
- `Hinrich Mahler <https://github.com/Bibo-Joshi>`_ (maintainer)
- `Poolitzer <https://github.com/Poolitzer>`_ (community liaison)
- `Shivam <https://github.com/Starry69>`_
- `Harshil <https://github.com/harshil21>`_
Emeritus maintainers include Emeritus maintainers include
`Jannes Höke <https://github.com/jh0ker>`_ (`@jh0ker <https://t.me/jh0ker>`_ on Telegram), `Jannes Höke <https://github.com/jh0ker>`_ (`@jh0ker <https://t.me/jh0ker>`_ on Telegram),
`Noam Meltzer <https://github.com/tsnoam>`_, `Pieter Schutz <https://github.com/eldinnie>`_ and `Jasmin Bom <https://github.com/jsmnbom>`_. `Noam Meltzer <https://github.com/tsnoam>`_, `Pieter Schutz <https://github.com/eldinnie>`_ and `Jasmin Bom <https://github.com/jsmnbom>`_.
The maintainers are actively supported by `Poolitzer <https://github.com/Poolitzer>`_ in terms of development and community liaison. Vendored packages
-----------------
We're vendoring urllib3 as part of ``python-telegram-bot`` which is distributed under the MIT We're vendoring urllib3 as part of ``python-telegram-bot`` which is distributed under the MIT
license. For more info, full credits & license terms, the sources can be found here: license. For more info, full credits & license terms, the sources can be found here:

View file

@ -230,6 +230,11 @@ Contributing
Contributions of all sizes are welcome. Please review our `contribution guidelines <https://github.com/python-telegram-bot/python-telegram-bot/blob/master/.github/CONTRIBUTING.rst>`_ to get started. You can also help by `reporting bugs <https://github.com/python-telegram-bot/python-telegram-bot/issues/new>`_. Contributions of all sizes are welcome. Please review our `contribution guidelines <https://github.com/python-telegram-bot/python-telegram-bot/blob/master/.github/CONTRIBUTING.rst>`_ to get started. You can also help by `reporting bugs <https://github.com/python-telegram-bot/python-telegram-bot/issues/new>`_.
========
Donating
========
Occasionally we are asked if we accept donations to support the development. While we appreciate the thought, maintaining PTB is our hobby and we have almost no running costs for it. We therefore have nothing set up to accept donations. If you still want to donate, we kindly ask you to donate to another open source project/initiative of your choice instead.
======= =======
License License
======= =======

View file

@ -212,6 +212,11 @@ Contributing
Contributions of all sizes are welcome. Please review our `contribution guidelines <https://github.com/python-telegram-bot/python-telegram-bot/blob/master/.github/CONTRIBUTING.rst>`_ to get started. You can also help by `reporting bugs <https://github.com/python-telegram-bot/python-telegram-bot/issues/new>`_. Contributions of all sizes are welcome. Please review our `contribution guidelines <https://github.com/python-telegram-bot/python-telegram-bot/blob/master/.github/CONTRIBUTING.rst>`_ to get started. You can also help by `reporting bugs <https://github.com/python-telegram-bot/python-telegram-bot/issues/new>`_.
========
Donating
========
Occasionally we are asked if we accept donations to support the development. While we appreciate the thought, maintaining PTB is our hobby and we have almost no running costs for it. We therefore have nothing set up to accept donations. If you still want to donate, we kindly ask you to donate to another open source project/initiative of your choice instead.
======= =======
License License
======= =======

View file

@ -1,3 +1,3 @@
sphinx>=1.7.9 sphinx==3.5.2
sphinx_rtd_theme sphinx_rtd_theme==0.5.1
sphinx-pypi-upload sphinx-pypi-upload

View file

@ -24,7 +24,7 @@ sys.path.insert(0, os.path.abspath('../..'))
# -- General configuration ------------------------------------------------ # -- General configuration ------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here. # If your documentation needs a minimal Sphinx version, state it here.
needs_sphinx = '1.7.9' needs_sphinx = '3.5.2'
# Add any Sphinx extension module names here, as strings. They can be # Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
@ -35,7 +35,7 @@ extensions = [
] ]
# Don't show type hints in the signature - that just makes it hardly readable # Don't show type hints in the signature - that just makes it hardly readable
# and we document the types anyway # and we document the types anyway
autodoc_typehints = 'description' autodoc_typehints = 'none'
# Add any paths that contain templates here, relative to this directory. # Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates'] templates_path = ['_templates']

View file

@ -1574,7 +1574,7 @@ class Bot(TelegramObject):
) -> Union[Message, bool]: ) -> Union[Message, bool]:
"""Use this method to edit live location messages sent by the bot or via the bot """Use this method to edit live location messages sent by the bot or via the bot
(for inline bots). A location can be edited until its :attr:`live_period` expires or (for inline bots). A location can be edited until its :attr:`live_period` expires or
editing is explicitly disabled by a call to :attr:`stop_message_live_location`. editing is explicitly disabled by a call to :meth:`stop_message_live_location`.
Note: Note:
You can either supply a :obj:`latitude` and :obj:`longitude` or a :obj:`location`. You can either supply a :obj:`latitude` and :obj:`longitude` or a :obj:`location`.
@ -2200,7 +2200,7 @@ class Bot(TelegramObject):
""" """
Use this method to get basic info about a file and prepare it for downloading. For the Use this method to get basic info about a file and prepare it for downloading. For the
moment, bots can download files of up to 20MB in size. The file can then be downloaded moment, bots can download files of up to 20MB in size. The file can then be downloaded
with :attr:`telegram.File.download`. It is guaranteed that the link will be with :meth:`telegram.File.download`. It is guaranteed that the link will be
valid for at least 1 hour. When the link expires, a new one can be requested by valid for at least 1 hour. When the link expires, a new one can be requested by
calling get_file again. calling get_file again.
@ -3074,7 +3074,7 @@ class Bot(TelegramObject):
"""Use this method to set a new group sticker set for a supergroup. """Use this method to set a new group sticker set for a supergroup.
The bot must be an administrator in the chat for this to work and must have the appropriate The bot must be an administrator in the chat for this to work and must have the appropriate
admin rights. Use the field :attr:`telegram.Chat.can_set_sticker_set` optionally returned admin rights. Use the field :attr:`telegram.Chat.can_set_sticker_set` optionally returned
in :attr:`get_chat` requests to check if the bot can use this method. in :meth:`get_chat` requests to check if the bot can use this method.
Args: Args:
chat_id (:obj:`int` | :obj:`str`): Unique identifier for the target chat or username chat_id (:obj:`int` | :obj:`str`): Unique identifier for the target chat or username
@ -3106,7 +3106,7 @@ class Bot(TelegramObject):
"""Use this method to delete a group sticker set from a supergroup. The bot must be an """Use this method to delete a group sticker set from a supergroup. The bot must be an
administrator in the chat for this to work and must have the appropriate admin rights. administrator in the chat for this to work and must have the appropriate admin rights.
Use the field :attr:`telegram.Chat.can_set_sticker_set` optionally returned in Use the field :attr:`telegram.Chat.can_set_sticker_set` optionally returned in
:attr:`get_chat` requests to check if the bot can use this method. :meth:`get_chat` requests to check if the bot can use this method.
Args: Args:
chat_id (:obj:`int` | :obj:`str`): Unique identifier for the target chat or username chat_id (:obj:`int` | :obj:`str`): Unique identifier for the target chat or username
@ -3541,7 +3541,7 @@ class Bot(TelegramObject):
:obj:`True` for all boolean parameters to lift restrictions from a user. :obj:`True` for all boolean parameters to lift restrictions from a user.
Note: Note:
Since Bot API 4.4, :attr:`restrict_chat_member` takes the new user permissions in a Since Bot API 4.4, :meth:`restrict_chat_member` takes the new user permissions in a
single argument of type :class:`telegram.ChatPermissions`. The old way of passing single argument of type :class:`telegram.ChatPermissions`. The old way of passing
parameters will not keep working forever. parameters will not keep working forever.
@ -4261,7 +4261,7 @@ class Bot(TelegramObject):
) -> File: ) -> File:
""" """
Use this method to upload a .png file with a sticker for later use in Use this method to upload a .png file with a sticker for later use in
:attr:`create_new_sticker_set` and :attr:`add_sticker_to_set` methods (can be used multiple :meth:`create_new_sticker_set` and :meth:`add_sticker_to_set` methods (can be used multiple
times). times).
Note: Note:
@ -5061,107 +5061,107 @@ class Bot(TelegramObject):
# camelCase aliases # camelCase aliases
getMe = get_me getMe = get_me
"""Alias for :attr:`get_me`""" """Alias for :meth:`get_me`"""
sendMessage = send_message sendMessage = send_message
"""Alias for :attr:`send_message`""" """Alias for :meth:`send_message`"""
deleteMessage = delete_message deleteMessage = delete_message
"""Alias for :attr:`delete_message`""" """Alias for :meth:`delete_message`"""
forwardMessage = forward_message forwardMessage = forward_message
"""Alias for :attr:`forward_message`""" """Alias for :meth:`forward_message`"""
sendPhoto = send_photo sendPhoto = send_photo
"""Alias for :attr:`send_photo`""" """Alias for :meth:`send_photo`"""
sendAudio = send_audio sendAudio = send_audio
"""Alias for :attr:`send_audio`""" """Alias for :meth:`send_audio`"""
sendDocument = send_document sendDocument = send_document
"""Alias for :attr:`send_document`""" """Alias for :meth:`send_document`"""
sendSticker = send_sticker sendSticker = send_sticker
"""Alias for :attr:`send_sticker`""" """Alias for :meth:`send_sticker`"""
sendVideo = send_video sendVideo = send_video
"""Alias for :attr:`send_video`""" """Alias for :meth:`send_video`"""
sendAnimation = send_animation sendAnimation = send_animation
"""Alias for :attr:`send_animation`""" """Alias for :meth:`send_animation`"""
sendVoice = send_voice sendVoice = send_voice
"""Alias for :attr:`send_voice`""" """Alias for :meth:`send_voice`"""
sendVideoNote = send_video_note sendVideoNote = send_video_note
"""Alias for :attr:`send_video_note`""" """Alias for :meth:`send_video_note`"""
sendMediaGroup = send_media_group sendMediaGroup = send_media_group
"""Alias for :attr:`send_media_group`""" """Alias for :meth:`send_media_group`"""
sendLocation = send_location sendLocation = send_location
"""Alias for :attr:`send_location`""" """Alias for :meth:`send_location`"""
editMessageLiveLocation = edit_message_live_location editMessageLiveLocation = edit_message_live_location
"""Alias for :attr:`edit_message_live_location`""" """Alias for :meth:`edit_message_live_location`"""
stopMessageLiveLocation = stop_message_live_location stopMessageLiveLocation = stop_message_live_location
"""Alias for :attr:`stop_message_live_location`""" """Alias for :meth:`stop_message_live_location`"""
sendVenue = send_venue sendVenue = send_venue
"""Alias for :attr:`send_venue`""" """Alias for :meth:`send_venue`"""
sendContact = send_contact sendContact = send_contact
"""Alias for :attr:`send_contact`""" """Alias for :meth:`send_contact`"""
sendGame = send_game sendGame = send_game
"""Alias for :attr:`send_game`""" """Alias for :meth:`send_game`"""
sendChatAction = send_chat_action sendChatAction = send_chat_action
"""Alias for :attr:`send_chat_action`""" """Alias for :meth:`send_chat_action`"""
answerInlineQuery = answer_inline_query answerInlineQuery = answer_inline_query
"""Alias for :attr:`answer_inline_query`""" """Alias for :meth:`answer_inline_query`"""
getUserProfilePhotos = get_user_profile_photos getUserProfilePhotos = get_user_profile_photos
"""Alias for :attr:`get_user_profile_photos`""" """Alias for :meth:`get_user_profile_photos`"""
getFile = get_file getFile = get_file
"""Alias for :attr:`get_file`""" """Alias for :meth:`get_file`"""
kickChatMember = kick_chat_member kickChatMember = kick_chat_member
"""Alias for :attr:`kick_chat_member`""" """Alias for :meth:`kick_chat_member`"""
unbanChatMember = unban_chat_member unbanChatMember = unban_chat_member
"""Alias for :attr:`unban_chat_member`""" """Alias for :meth:`unban_chat_member`"""
answerCallbackQuery = answer_callback_query answerCallbackQuery = answer_callback_query
"""Alias for :attr:`answer_callback_query`""" """Alias for :meth:`answer_callback_query`"""
editMessageText = edit_message_text editMessageText = edit_message_text
"""Alias for :attr:`edit_message_text`""" """Alias for :meth:`edit_message_text`"""
editMessageCaption = edit_message_caption editMessageCaption = edit_message_caption
"""Alias for :attr:`edit_message_caption`""" """Alias for :meth:`edit_message_caption`"""
editMessageMedia = edit_message_media editMessageMedia = edit_message_media
"""Alias for :attr:`edit_message_media`""" """Alias for :meth:`edit_message_media`"""
editMessageReplyMarkup = edit_message_reply_markup editMessageReplyMarkup = edit_message_reply_markup
"""Alias for :attr:`edit_message_reply_markup`""" """Alias for :meth:`edit_message_reply_markup`"""
getUpdates = get_updates getUpdates = get_updates
"""Alias for :attr:`get_updates`""" """Alias for :meth:`get_updates`"""
setWebhook = set_webhook setWebhook = set_webhook
"""Alias for :attr:`set_webhook`""" """Alias for :meth:`set_webhook`"""
deleteWebhook = delete_webhook deleteWebhook = delete_webhook
"""Alias for :attr:`delete_webhook`""" """Alias for :meth:`delete_webhook`"""
leaveChat = leave_chat leaveChat = leave_chat
"""Alias for :attr:`leave_chat`""" """Alias for :meth:`leave_chat`"""
getChat = get_chat getChat = get_chat
"""Alias for :attr:`get_chat`""" """Alias for :meth:`get_chat`"""
getChatAdministrators = get_chat_administrators getChatAdministrators = get_chat_administrators
"""Alias for :attr:`get_chat_administrators`""" """Alias for :meth:`get_chat_administrators`"""
getChatMember = get_chat_member getChatMember = get_chat_member
"""Alias for :attr:`get_chat_member`""" """Alias for :meth:`get_chat_member`"""
setChatStickerSet = set_chat_sticker_set setChatStickerSet = set_chat_sticker_set
"""Alias for :attr:`set_chat_sticker_set`""" """Alias for :meth:`set_chat_sticker_set`"""
deleteChatStickerSet = delete_chat_sticker_set deleteChatStickerSet = delete_chat_sticker_set
"""Alias for :attr:`delete_chat_sticker_set`""" """Alias for :meth:`delete_chat_sticker_set`"""
getChatMembersCount = get_chat_members_count getChatMembersCount = get_chat_members_count
"""Alias for :attr:`get_chat_members_count`""" """Alias for :meth:`get_chat_members_count`"""
getWebhookInfo = get_webhook_info getWebhookInfo = get_webhook_info
"""Alias for :attr:`get_webhook_info`""" """Alias for :meth:`get_webhook_info`"""
setGameScore = set_game_score setGameScore = set_game_score
"""Alias for :attr:`set_game_score`""" """Alias for :meth:`set_game_score`"""
getGameHighScores = get_game_high_scores getGameHighScores = get_game_high_scores
"""Alias for :attr:`get_game_high_scores`""" """Alias for :meth:`get_game_high_scores`"""
sendInvoice = send_invoice sendInvoice = send_invoice
"""Alias for :attr:`send_invoice`""" """Alias for :meth:`send_invoice`"""
answerShippingQuery = answer_shipping_query answerShippingQuery = answer_shipping_query
"""Alias for :attr:`answer_shipping_query`""" """Alias for :meth:`answer_shipping_query`"""
answerPreCheckoutQuery = answer_pre_checkout_query answerPreCheckoutQuery = answer_pre_checkout_query
"""Alias for :attr:`answer_pre_checkout_query`""" """Alias for :meth:`answer_pre_checkout_query`"""
restrictChatMember = restrict_chat_member restrictChatMember = restrict_chat_member
"""Alias for :attr:`restrict_chat_member`""" """Alias for :meth:`restrict_chat_member`"""
promoteChatMember = promote_chat_member promoteChatMember = promote_chat_member
"""Alias for :attr:`promote_chat_member`""" """Alias for :meth:`promote_chat_member`"""
setChatPermissions = set_chat_permissions setChatPermissions = set_chat_permissions
"""Alias for :attr:`set_chat_permissions`""" """Alias for :meth:`set_chat_permissions`"""
setChatAdministratorCustomTitle = set_chat_administrator_custom_title setChatAdministratorCustomTitle = set_chat_administrator_custom_title
"""Alias for :attr:`set_chat_administrator_custom_title`""" """Alias for :meth:`set_chat_administrator_custom_title`"""
exportChatInviteLink = export_chat_invite_link exportChatInviteLink = export_chat_invite_link
"""Alias for :attr:`export_chat_invite_link`""" """Alias for :meth:`export_chat_invite_link`"""
createChatInviteLink = create_chat_invite_link createChatInviteLink = create_chat_invite_link
"""Alias for :attr:`create_chat_invite_link`""" """Alias for :attr:`create_chat_invite_link`"""
editChatInviteLink = edit_chat_invite_link editChatInviteLink = edit_chat_invite_link
@ -5169,46 +5169,46 @@ class Bot(TelegramObject):
revokeChatInviteLink = revoke_chat_invite_link revokeChatInviteLink = revoke_chat_invite_link
"""Alias for :attr:`revoke_chat_invite_link`""" """Alias for :attr:`revoke_chat_invite_link`"""
setChatPhoto = set_chat_photo setChatPhoto = set_chat_photo
"""Alias for :attr:`set_chat_photo`""" """Alias for :meth:`set_chat_photo`"""
deleteChatPhoto = delete_chat_photo deleteChatPhoto = delete_chat_photo
"""Alias for :attr:`delete_chat_photo`""" """Alias for :meth:`delete_chat_photo`"""
setChatTitle = set_chat_title setChatTitle = set_chat_title
"""Alias for :attr:`set_chat_title`""" """Alias for :meth:`set_chat_title`"""
setChatDescription = set_chat_description setChatDescription = set_chat_description
"""Alias for :attr:`set_chat_description`""" """Alias for :meth:`set_chat_description`"""
pinChatMessage = pin_chat_message pinChatMessage = pin_chat_message
"""Alias for :attr:`pin_chat_message`""" """Alias for :meth:`pin_chat_message`"""
unpinChatMessage = unpin_chat_message unpinChatMessage = unpin_chat_message
"""Alias for :attr:`unpin_chat_message`""" """Alias for :meth:`unpin_chat_message`"""
unpinAllChatMessages = unpin_all_chat_messages unpinAllChatMessages = unpin_all_chat_messages
"""Alias for :attr:`unpin_all_chat_messages`""" """Alias for :meth:`unpin_all_chat_messages`"""
getStickerSet = get_sticker_set getStickerSet = get_sticker_set
"""Alias for :attr:`get_sticker_set`""" """Alias for :meth:`get_sticker_set`"""
uploadStickerFile = upload_sticker_file uploadStickerFile = upload_sticker_file
"""Alias for :attr:`upload_sticker_file`""" """Alias for :meth:`upload_sticker_file`"""
createNewStickerSet = create_new_sticker_set createNewStickerSet = create_new_sticker_set
"""Alias for :attr:`create_new_sticker_set`""" """Alias for :meth:`create_new_sticker_set`"""
addStickerToSet = add_sticker_to_set addStickerToSet = add_sticker_to_set
"""Alias for :attr:`add_sticker_to_set`""" """Alias for :meth:`add_sticker_to_set`"""
setStickerPositionInSet = set_sticker_position_in_set setStickerPositionInSet = set_sticker_position_in_set
"""Alias for :attr:`set_sticker_position_in_set`""" """Alias for :meth:`set_sticker_position_in_set`"""
deleteStickerFromSet = delete_sticker_from_set deleteStickerFromSet = delete_sticker_from_set
"""Alias for :attr:`delete_sticker_from_set`""" """Alias for :meth:`delete_sticker_from_set`"""
setStickerSetThumb = set_sticker_set_thumb setStickerSetThumb = set_sticker_set_thumb
"""Alias for :attr:`set_sticker_set_thumb`""" """Alias for :meth:`set_sticker_set_thumb`"""
setPassportDataErrors = set_passport_data_errors setPassportDataErrors = set_passport_data_errors
"""Alias for :attr:`set_passport_data_errors`""" """Alias for :meth:`set_passport_data_errors`"""
sendPoll = send_poll sendPoll = send_poll
"""Alias for :attr:`send_poll`""" """Alias for :meth:`send_poll`"""
stopPoll = stop_poll stopPoll = stop_poll
"""Alias for :attr:`stop_poll`""" """Alias for :meth:`stop_poll`"""
sendDice = send_dice sendDice = send_dice
"""Alias for :attr:`send_dice`""" """Alias for :meth:`send_dice`"""
getMyCommands = get_my_commands getMyCommands = get_my_commands
"""Alias for :attr:`get_my_commands`""" """Alias for :meth:`get_my_commands`"""
setMyCommands = set_my_commands setMyCommands = set_my_commands
"""Alias for :attr:`set_my_commands`""" """Alias for :meth:`set_my_commands`"""
logOut = log_out logOut = log_out
"""Alias for :attr:`log_out`""" """Alias for :meth:`log_out`"""
copyMessage = copy_message copyMessage = copy_message
"""Alias for :attr:`copy_message`""" """Alias for :meth:`copy_message`"""

View file

@ -1117,7 +1117,7 @@ officedocument.wordprocessingml.document")``.
left_chat_member: Messages that contain left_chat_member: Messages that contain
:attr:`telegram.Message.left_chat_member`. :attr:`telegram.Message.left_chat_member`.
migrate: Messages that contain migrate: Messages that contain
:attr:`telegram.Message.migrate_from_chat_id` or :attr:`telegram.Message.migrate_to_chat_id` or
:attr:`telegram.Message.migrate_from_chat_id`. :attr:`telegram.Message.migrate_from_chat_id`.
new_chat_members: Messages that contain new_chat_members: Messages that contain
:attr:`telegram.Message.new_chat_members`. :attr:`telegram.Message.new_chat_members`.
@ -1738,16 +1738,22 @@ officedocument.wordprocessingml.document")``.
username. username.
Examples: Examples:
* To filter for messages forwarded from a channel with ID ``-1234``, use * To filter for messages forwarded to a discussion group from a channel with ID
``MessageHandler(Filters.sender_chat(-1234), callback_method)``. ``-1234``, use ``MessageHandler(Filters.sender_chat(-1234), callback_method)``.
* To filter for messages of anonymous admins in a super group with username * To filter for messages of anonymous admins in a super group with username
``@anonymous``, use ``@anonymous``, use
``MessageHandler(Filters.sender_chat(username='anonymous'), callback_method)``. ``MessageHandler(Filters.sender_chat(username='anonymous'), callback_method)``.
* To filter for messages forwarded from *any* channel, use * To filter for messages forwarded to a discussion group from *any* channel, use
``MessageHandler(Filters.sender_chat.channel, callback_method)``. ``MessageHandler(Filters.sender_chat.channel, callback_method)``.
* To filter for messages of anonymous admins in *any* super group, use * To filter for messages of anonymous admins in *any* super group, use
``MessageHandler(Filters.sender_chat.super_group, callback_method)``. ``MessageHandler(Filters.sender_chat.super_group, callback_method)``.
Note:
Remember, ``sender_chat`` is also set for messages in a channel as the channel itself,
so when your bot is an admin in a channel and the linked discussion group, you would
receive the message twice (once from inside the channel, once inside the discussion
group).
Warning: Warning:
:attr:`chat_ids` will return a *copy* of the saved chat ids as :class:`frozenset`. This :attr:`chat_ids` will return a *copy* of the saved chat ids as :class:`frozenset`. This
is to ensure thread safety. To add/remove a chat, you should use :meth:`add_usernames`, is to ensure thread safety. To add/remove a chat, you should use :meth:`add_usernames`,

View file

@ -125,7 +125,7 @@ class InlineQuery(TelegramObject):
Defaults to :obj:`False`. Defaults to :obj:`False`.
Raises: Raises:
TypeError: If both :attr:`current_offset` and attr:`auto_pagination` are supplied. TypeError: If both :attr:`current_offset` and :attr:`auto_pagination` are supplied.
""" """
if current_offset and auto_pagination: if current_offset and auto_pagination:
# We raise TypeError instead of ValueError for backwards compatibility with versions # We raise TypeError instead of ValueError for backwards compatibility with versions

View file

@ -161,7 +161,7 @@ class User(TelegramObject):
""" """
Shortcut for:: Shortcut for::
bot.send_message(update.effective_user.id, *args, **kwargs) bot.get_user_profile_photos(update.effective_user.id, *args, **kwargs)
For the documentation of the arguments, please see For the documentation of the arguments, please see
:meth:`telegram.Bot.get_user_profile_photos`. :meth:`telegram.Bot.get_user_profile_photos`.