Skip to content
Back to top
View this page

# 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.ChatFullInfo.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`.

      Added in version 20.0.

    - can_send_audios (`bool`) –

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

      Added in version 20.1.

    - can_send_documents (`bool`) –

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

      Added in version 20.1.

    - can_send_photos (`bool`) –

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

      Added in version 20.1.

    - can_send_videos (`bool`) –

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

      Added in version 20.1.

    - can_send_video_notes (`bool`) –

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

      Added in version 20.1.

    - can_send_voice_notes (`bool`) –

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

      Added 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`.

    Added in version 20.0.

    Type:

      `bool`

  can_send_audios

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

    Added in version 20.1.

    Type:

      `bool`

  can_send_documents

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

    Added in version 20.1.

    Type:

      `bool`

  can_send_photos

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

    Added in version 20.1.

    Type:

      `bool`

  can_send_videos

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

    Added in version 20.1.

    Type:

      `bool`

  can_send_video_notes

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

    Added in version 20.1.

    Type:

      `bool`

  can_send_voice_notes

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

    Added 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()`.

    Added in version 20.0.

  classmethod de_json(data, bot=None)

    See `telegram.TelegramObject.de_json()`.

  classmethod no_permissions()

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

    Added in version 20.0.