Hide navigation sidebar
Hide table of contents sidebar
PTB has undergone significant changes in v20. Please read the documentation carefully and also check out the transition guide in the wiki.
Back to top
Toggle table of contents sidebar

# ChatPermissions

class telegram.ChatPermissions(can_send_messages=None, can_send_polls=None, can_send_other_messages=None, can_add_web_page_previews=None, can_change_info=None, can_invite_users=None, can_pin_messages=None, can_manage_topics=None, can_send_audios=None, can_send_documents=None, can_send_photos=None, can_send_videos=None, can_send_video_notes=None, can_send_voice_notes=None, *, api_kwargs=None)

  Bases: `telegram.TelegramObject`

  Describes actions that a non-administrator user is allowed to take in a chat.

  Objects of this class are comparable in terms of equality. Two objects of this class are considered equal, if their `can_send_messages`, `can_send_polls`, `can_send_other_messages`, `can_add_web_page_previews`, `can_change_info`, `can_invite_users`, `can_pin_messages`, `can_send_audios`, `can_send_documents`, `can_send_photos`, `can_send_videos`, `can_send_video_notes`, `can_send_voice_notes`, and `can_manage_topics` are equal.

  Use In

  - `telegram.Bot.restrict_chat_member()`

  - `telegram.Bot.set_chat_permissions()`

  Available In

  `telegram.Chat.permissions`

  Changed in version 20.0: `can_manage_topics` is considered as well when comparing objects of this type in terms of equality.

  Changed in version 20.5:

  - `can_send_audios`, `can_send_documents`, `can_send_photos`, `can_send_videos`, `can_send_video_notes` and `can_send_voice_notes` are considered as well when comparing objects of this type in terms of equality.

  - Removed deprecated argument and attribute `can_send_media_messages`.

  Note

  Though not stated explicitly in the official docs, Telegram changes not only the permissions that are set, but also sets all the others to `False`. However, since not documented, this behavior may change unbeknown to PTB.

  Parameters:

    - can_send_messages (`bool`, optional) – `True`, if the user is allowed to send text messages, contacts, locations and venues.

    - can_send_polls (`bool`, optional) – `True`, if the user is allowed to send polls.

    - can_send_other_messages (`bool`, optional) – `True`, if the user is allowed to send animations, games, stickers and use inline bots.

    - can_add_web_page_previews (`bool`, optional) – `True`, if the user is allowed to add web page previews to their messages.

    - can_change_info (`bool`, optional) – `True`, if the user is allowed to change the chat title, photo and other settings. Ignored in public supergroups.

    - can_invite_users (`bool`, optional) – `True`, if the user is allowed to invite new users to the chat.

    - can_pin_messages (`bool`, optional) – `True`, if the user is allowed to pin messages. Ignored in public supergroups.

    - can_manage_topics (`bool`, optional) –

      `True`, if the user is allowed to create forum topics. If omitted defaults to the value of `can_pin_messages`.

      New in version 20.0.

    - can_send_audios (`bool`) –

      `True`, if the user is allowed to send audios.

      New in version 20.1.

    - can_send_documents (`bool`) –

      `True`, if the user is allowed to send documents.

      New in version 20.1.

    - can_send_photos (`bool`) –

      `True`, if the user is allowed to send photos.

      New in version 20.1.

    - can_send_videos (`bool`) –

      `True`, if the user is allowed to send videos.

      New in version 20.1.

    - can_send_video_notes (`bool`) –

      `True`, if the user is allowed to send video notes.

      New in version 20.1.

    - can_send_voice_notes (`bool`) –

      `True`, if the user is allowed to send voice notes.

      New in version 20.1.

  can_send_messages

    Optional. `True`, if the user is allowed to send text messages, contacts, locations and venues.

    Type:

      `bool`

  can_send_polls

    Optional. `True`, if the user is allowed to send polls, implies `can_send_messages`.

    Type:

      `bool`

  can_send_other_messages

    Optional. `True`, if the user is allowed to send animations, games, stickers and use inline bots.

    Type:

      `bool`

  can_add_web_page_previews

    Optional. `True`, if the user is allowed to add web page previews to their messages.

    Type:

      `bool`

  can_change_info

    Optional. `True`, if the user is allowed to change the chat title, photo and other settings. Ignored in public supergroups.

    Type:

      `bool`

  can_invite_users

    Optional. `True`, if the user is allowed to invite new users to the chat.

    Type:

      `bool`

  can_pin_messages

    Optional. `True`, if the user is allowed to pin messages. Ignored in public supergroups.

    Type:

      `bool`

  can_manage_topics

    Optional. `True`, if the user is allowed to create forum topics. If omitted defaults to the value of `can_pin_messages`.

    New in version 20.0.

    Type:

      `bool`

  can_send_audios

    `True`, if the user is allowed to send audios.

    New in version 20.1.

    Type:

      `bool`

  can_send_documents

    `True`, if the user is allowed to send documents.

    New in version 20.1.

    Type:

      `bool`

  can_send_photos

    `True`, if the user is allowed to send photos.

    New in version 20.1.

    Type:

      `bool`

  can_send_videos

    `True`, if the user is allowed to send videos.

    New in version 20.1.

    Type:

      `bool`

  can_send_video_notes

    `True`, if the user is allowed to send video notes.

    New in version 20.1.

    Type:

      `bool`

  can_send_voice_notes

    `True`, if the user is allowed to send voice notes.

    New in version 20.1.

    Type:

      `bool`

  classmethod all_permissions()

    This method returns an `ChatPermissions` instance with all attributes set to `True`. This is e.g. useful when unrestricting a chat member with `telegram.Bot.restrict_chat_member()`.

    New in version 20.0.

  classmethod de_json(data, bot)

    See `telegram.TelegramObject.de_json()`.

  classmethod no_permissions()

    This method returns an `ChatPermissions` instance with all attributes set to `False`.

    New in version 20.0.