@@ -93,6 +93,7 @@ class _BasePermissionsKwargs(Generic[BoolOrNoneT], TypedDict, total=False):
9393 send_polls : BoolOrNoneT
9494 create_polls : BoolOrNoneT
9595 use_external_apps : BoolOrNoneT
96+ pin_messages : BoolOrNoneT
9697
9798 class _PermissionsKwargs (_BasePermissionsKwargs [bool ]): ...
9899
@@ -251,7 +252,7 @@ def all(cls) -> Self:
251252 permissions set to ``True``.
252253 """
253254 # Some of these are 0 because we don't want to set unnecessary bits
254- return cls (0b0000_0000_0000_0110_0111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111 )
255+ return cls (0b0000_0000_0000_1110_0111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111 )
255256
256257 @classmethod
257258 def _timeout_mask (cls ) -> int :
@@ -266,6 +267,7 @@ def _dm_permissions(cls) -> Self:
266267 base .read_messages = True
267268 base .send_tts_messages = False
268269 base .manage_messages = False
270+ base .pin_messages = True
269271 base .create_private_threads = False
270272 base .create_public_threads = False
271273 base .manage_threads = False
@@ -324,7 +326,7 @@ def all_channel(cls) -> Self:
324326 Added :attr:`send_polls`, :attr:`send_voice_messages`, attr:`use_external_sounds`,
325327 :attr:`use_embedded_activities`, and :attr:`use_external_apps` permissions.
326328 """
327- return cls (0b0000_0000_0000_0110_0110_0100_1111_1101_1011_0011_1111_0111_1111_1111_0101_0001 )
329+ return cls (0b0000_0000_0000_1110_0110_0100_1111_1101_1011_0011_1111_0111_1111_1111_0101_0001 )
328330
329331 @classmethod
330332 def general (cls ) -> Self :
@@ -372,8 +374,11 @@ def text(cls) -> Self:
372374
373375 .. versionchanged:: 2.4
374376 Added :attr:`send_polls` and :attr:`use_external_apps` permissions.
377+
378+ .. versionchanged:: 2.7
379+ Added :attr:`pin_messages` permission.
375380 """
376- return cls (0b0000_0000_0000_0110_0100_0000_0111_1100_1000_0000_0000_0111_1111_1000_0100_0000 )
381+ return cls (0b0000_0000_0000_1110_0100_0000_0111_1100_1000_0000_0000_0111_1111_1000_0100_0000 )
377382
378383 @classmethod
379384 def voice (cls ) -> Self :
@@ -858,6 +863,14 @@ def use_external_apps(self) -> int:
858863 """
859864 return 1 << 50
860865
866+ @flag_value
867+ def pin_messages (self ) -> int :
868+ """:class:`bool`: Returns ``True`` if a user can pin messages.
869+
870+ .. versionadded:: 2.7
871+ """
872+ return 1 << 50
873+
861874
862875def _augment_from_permissions (cls ):
863876 cls .VALID_NAMES = set (Permissions .VALID_FLAGS )
@@ -981,6 +994,7 @@ class PermissionOverwrite:
981994 send_polls : Optional [bool ]
982995 create_polls : Optional [bool ]
983996 use_external_apps : Optional [bool ]
997+ pin_messages : Optional [bool ]
984998
985999 def __init__ (self , ** kwargs : Unpack [_PermissionOverwriteKwargs ]) -> None :
9861000 self ._values : Dict [str , Optional [bool ]] = {}
0 commit comments