Skip to content

Commit ad48815

Browse files
committed
Add Permissions.pin_messages
1 parent 44a44e9 commit ad48815

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

discord/permissions.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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 << 51
873+
861874

862875
def _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

Comments
 (0)