Add support for guest invites

This commit is contained in:
Soheab
2025-07-03 00:59:40 +02:00
committed by GitHub
parent 59546a4851
commit 774b934f74
9 changed files with 111 additions and 7 deletions

View File

@ -32,6 +32,7 @@ from .mixins import Hashable
from .enums import ChannelType, NSFWLevel, VerificationLevel, InviteTarget, InviteType, try_enum
from .appinfo import PartialAppInfo
from .scheduled_event import ScheduledEvent
from .flags import InviteFlags
__all__ = (
'PartialInviteChannel',
@ -379,6 +380,7 @@ class Invite(Hashable):
'scheduled_event',
'scheduled_event_id',
'type',
'_flags',
)
BASE = 'https://discord.gg'
@ -432,6 +434,7 @@ class Invite(Hashable):
else None
)
self.scheduled_event_id: Optional[int] = self.scheduled_event.id if self.scheduled_event else None
self._flags: int = data.get('flags', 0)
@classmethod
def from_incomplete(cls, *, state: ConnectionState, data: InvitePayload) -> Self:
@ -523,6 +526,14 @@ class Invite(Hashable):
url += '?event=' + str(self.scheduled_event_id)
return url
@property
def flags(self) -> InviteFlags:
""":class:`InviteFlags`: Returns the flags for this invite.
.. versionadded:: 2.6
"""
return InviteFlags._from_value(self._flags)
def set_scheduled_event(self, scheduled_event: Snowflake, /) -> Self:
"""Sets the scheduled event for this invite.