Browse Source

Remove last_modified from presence store

pull/10109/head
dolfies 1 year ago
parent
commit
a03623f8ee
  1. 11
      discord/state.py
  2. 2
      discord/types/gateway.py

11
discord/state.py

@ -494,18 +494,16 @@ class ClientStatus:
class Presence: class Presence:
__slots__ = ('client_status', 'activities', 'last_modified') __slots__ = ('client_status', 'activities')
def __init__(self, data: gw.BasePresenceUpdate, state: ConnectionState, /) -> None: def __init__(self, data: gw.BasePresenceUpdate, state: ConnectionState, /) -> None:
self.client_status: ClientStatus = ClientStatus(data['status'], data.get('client_status')) self.client_status: ClientStatus = ClientStatus(data['status'], data.get('client_status'))
self.activities: Tuple[ActivityTypes, ...] = tuple(create_activity(d, state) for d in data['activities']) self.activities: Tuple[ActivityTypes, ...] = tuple(create_activity(d, state) for d in data['activities'])
self.last_modified: Optional[datetime.datetime] = utils.parse_timestamp(data.get('last_modified'))
def __repr__(self) -> str: def __repr__(self) -> str:
attrs = [ attrs = [
('client_status', self.client_status), ('client_status', self.client_status),
('activities', self.activities), ('activities', self.activities),
('last_modified', self.last_modified),
] ]
inner = ' '.join('%s=%r' % t for t in attrs) inner = ' '.join('%s=%r' % t for t in attrs)
return f'<{self.__class__.__name__} {inner}>' return f'<{self.__class__.__name__} {inner}>'
@ -523,14 +521,12 @@ class Presence:
def _update(self, data: gw.BasePresenceUpdate, state: ConnectionState, /) -> None: def _update(self, data: gw.BasePresenceUpdate, state: ConnectionState, /) -> None:
self.client_status._update(data['status'], data.get('client_status')) self.client_status._update(data['status'], data.get('client_status'))
self.activities = tuple(create_activity(d, state) for d in data['activities']) self.activities = tuple(create_activity(d, state) for d in data['activities'])
self.last_modified = utils.parse_timestamp(data.get('last_modified')) or utils.utcnow()
@classmethod @classmethod
def _offline(cls) -> Self: def _offline(cls) -> Self:
self = cls.__new__(cls) # bypass __init__ self = cls.__new__(cls) # bypass __init__
self.client_status = ClientStatus() self.client_status = ClientStatus()
self.activities = () self.activities = ()
self.last_modified = None
return self return self
@classmethod @classmethod
@ -538,7 +534,6 @@ class Presence:
self = cls.__new__(cls) # bypass __init__ self = cls.__new__(cls) # bypass __init__
self.client_status = ClientStatus._copy(presence.client_status) self.client_status = ClientStatus._copy(presence.client_status)
self.activities = presence.activities self.activities = presence.activities
self.last_modified = presence.last_modified
return self return self
@ -562,10 +557,6 @@ class FakeClientPresence(Presence):
def activities(self) -> Tuple[ActivityTypes, ...]: def activities(self) -> Tuple[ActivityTypes, ...]:
return getattr(self._state.current_session, 'activities', ()) return getattr(self._state.current_session, 'activities', ())
@property
def last_modified(self) -> Optional[datetime.datetime]:
return None
async def logging_coroutine(coroutine: Coroutine[Any, Any, T], *, info: str) -> Optional[T]: async def logging_coroutine(coroutine: Coroutine[Any, Any, T], *, info: str) -> Optional[T]:
try: try:

2
discord/types/gateway.py

@ -67,7 +67,7 @@ T = TypeVar('T')
class UserPresenceUpdateEvent(BasePresenceUpdate): class UserPresenceUpdateEvent(BasePresenceUpdate):
last_modified: int ...
PresenceUpdateEvent = Union[PartialPresenceUpdate, UserPresenceUpdateEvent] PresenceUpdateEvent = Union[PartialPresenceUpdate, UserPresenceUpdateEvent]

Loading…
Cancel
Save