@@ -93,6 +93,7 @@ class _BasePermissionsKwargs(Generic[BoolOrNoneT], TypedDict, total=False):
93
93
send_polls : BoolOrNoneT
94
94
create_polls : BoolOrNoneT
95
95
use_external_apps : BoolOrNoneT
96
+ pin_messages : BoolOrNoneT
96
97
97
98
class _PermissionsKwargs (_BasePermissionsKwargs [bool ]): ...
98
99
@@ -251,7 +252,7 @@ def all(cls) -> Self:
251
252
permissions set to ``True``.
252
253
"""
253
254
# 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 )
255
256
256
257
@classmethod
257
258
def _timeout_mask (cls ) -> int :
@@ -266,6 +267,7 @@ def _dm_permissions(cls) -> Self:
266
267
base .read_messages = True
267
268
base .send_tts_messages = False
268
269
base .manage_messages = False
270
+ base .pin_messages = True
269
271
base .create_private_threads = False
270
272
base .create_public_threads = False
271
273
base .manage_threads = False
@@ -324,7 +326,7 @@ def all_channel(cls) -> Self:
324
326
Added :attr:`send_polls`, :attr:`send_voice_messages`, attr:`use_external_sounds`,
325
327
:attr:`use_embedded_activities`, and :attr:`use_external_apps` permissions.
326
328
"""
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 )
328
330
329
331
@classmethod
330
332
def general (cls ) -> Self :
@@ -372,8 +374,11 @@ def text(cls) -> Self:
372
374
373
375
.. versionchanged:: 2.4
374
376
Added :attr:`send_polls` and :attr:`use_external_apps` permissions.
377
+
378
+ .. versionchanged:: 2.7
379
+ Added :attr:`pin_messages` permission.
375
380
"""
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 )
377
382
378
383
@classmethod
379
384
def voice (cls ) -> Self :
@@ -858,6 +863,14 @@ def use_external_apps(self) -> int:
858
863
"""
859
864
return 1 << 50
860
865
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 << 51
873
+
861
874
862
875
def _augment_from_permissions (cls ):
863
876
cls .VALID_NAMES = set (Permissions .VALID_FLAGS )
@@ -981,6 +994,7 @@ class PermissionOverwrite:
981
994
send_polls : Optional [bool ]
982
995
create_polls : Optional [bool ]
983
996
use_external_apps : Optional [bool ]
997
+ pin_messages : Optional [bool ]
984
998
985
999
def __init__ (self , ** kwargs : Unpack [_PermissionOverwriteKwargs ]) -> None :
986
1000
self ._values : Dict [str , Optional [bool ]] = {}
0 commit comments