Browse Source

Clean up message requests

pull/10109/head
dolfies 2 years ago
parent
commit
913bef61ac
  1. 29
      discord/channel.py

29
discord/channel.py

@ -2944,22 +2944,33 @@ class DMChannel(discord.abc.Messageable, discord.abc.Connectable, discord.abc.Pr
"""
return self._state._get_message(self.last_message_id) if self.last_message_id else None
@property
def accepted(self) -> bool:
""":class:`bool`: Indicates if the message request is accepted. For regular direct messages, this is always ``True``."""
return self._message_request or True
@property
def requested_at(self) -> Optional[datetime.datetime]:
"""Optional[:class:`datetime.datetime`]: Returns the message request's creation time in UTC, if applicable."""
"""Optional[:class:`datetime.datetime`]: Returns the message request's creation time in UTC, if applicable.
.. versionadded:: 2.0
"""
return self._requested_at
def is_message_request(self) -> bool:
""":class:`bool`: Indicates if the direct message is/was a message request."""
""":class:`bool`: Indicates if the direct message is/was a message request.
.. versionadded:: 2.0
"""
return self._message_request is not None
def is_accepted(self) -> bool:
""":class:`bool`: Indicates if the message request is accepted. For regular direct messages, this is always ``True``.
.. versionadded:: 2.0
"""
return self._message_request if self._message_request is not None else True
def is_spam(self) -> bool:
""":class:`bool`: Indicates if the direct message is a spam message."""
""":class:`bool`: Indicates if the direct message is a spam message request.
.. versionadded:: 2.0
"""
return self._spam
def permissions_for(self, obj: Any = None, /) -> Permissions:
@ -3105,7 +3116,7 @@ class DMChannel(discord.abc.Messageable, discord.abc.Connectable, discord.abc.Pr
# Of course Discord does not actually include these fields
data['is_message_request'] = False
if self._requested_at:
data['is_message_request_timestamp'] = utils.utcnow().isoformat()
data['is_message_request_timestamp'] = self._requested_at.isoformat()
data['is_spam'] = self._spam
return DMChannel(state=self._state, data=data, me=self.me)

Loading…
Cancel
Save