From 913bef61acde163a1e353bb259f8aeea450031fd Mon Sep 17 00:00:00 2001 From: dolfies Date: Fri, 31 Mar 2023 21:27:51 -0400 Subject: [PATCH] Clean up message requests --- discord/channel.py | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/discord/channel.py b/discord/channel.py index e0444bda3..9bcedb553 100644 --- a/discord/channel.py +++ b/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)